set(WebCore_INCLUDE_DIRECTORIES
    "${WEBCORE_DIR}"
    "${WEBCORE_DIR}/Modules/airplay"
    "${WEBCORE_DIR}/Modules/battery"
    "${WEBCORE_DIR}/Modules/encryptedmedia"
    "${WEBCORE_DIR}/Modules/gamepad"
    "${WEBCORE_DIR}/Modules/gamepad/deprecated"
    "${WEBCORE_DIR}/Modules/geolocation"
    "${WEBCORE_DIR}/Modules/indexeddb"
    "${WEBCORE_DIR}/Modules/indieui"
    "${WEBCORE_DIR}/Modules/mediacontrols/"
    "${WEBCORE_DIR}/Modules/mediasource"
    "${WEBCORE_DIR}/Modules/mediastream"
    "${WEBCORE_DIR}/Modules/navigatorcontentutils"
    "${WEBCORE_DIR}/Modules/notifications"
    "${WEBCORE_DIR}/Modules/plugins"
    "${WEBCORE_DIR}/Modules/proximity"
    "${WEBCORE_DIR}/Modules/quota"
    "${WEBCORE_DIR}/Modules/speech"
    "${WEBCORE_DIR}/Modules/vibration"
    "${WEBCORE_DIR}/Modules/webaudio"
    "${WEBCORE_DIR}/Modules/webdatabase"
    "${WEBCORE_DIR}/Modules/websockets"
    "${WEBCORE_DIR}/accessibility"
    "${WEBCORE_DIR}/bindings"
    "${WEBCORE_DIR}/bindings/generic"
    "${WEBCORE_DIR}/bindings/js"
    "${WEBCORE_DIR}/bridge"
    "${WEBCORE_DIR}/bridge/c"
    "${WEBCORE_DIR}/bridge/jsc"
    "${WEBCORE_DIR}/crypto"
    "${WEBCORE_DIR}/crypto/algorithms"
    "${WEBCORE_DIR}/crypto/keys"
    "${WEBCORE_DIR}/crypto/parameters"
    "${WEBCORE_DIR}/css"
    "${WEBCORE_DIR}/cssjit"
    "${WEBCORE_DIR}/dom"
    "${WEBCORE_DIR}/dom/default"
    "${WEBCORE_DIR}/editing"
    "${WEBCORE_DIR}/fileapi"
    "${WEBCORE_DIR}/history"
    "${WEBCORE_DIR}/html"
    "${WEBCORE_DIR}/html/canvas"
    "${WEBCORE_DIR}/html/forms"
    "${WEBCORE_DIR}/html/parser"
    "${WEBCORE_DIR}/html/shadow"
    "${WEBCORE_DIR}/html/track"
    "${WEBCORE_DIR}/inspector"
    "${WEBCORE_DIR}/loader"
    "${WEBCORE_DIR}/loader/appcache"
    "${WEBCORE_DIR}/loader/archive"
    "${WEBCORE_DIR}/loader/archive/mhtml"
    "${WEBCORE_DIR}/loader/cache"
    "${WEBCORE_DIR}/loader/icon"
    "${WEBCORE_DIR}/mathml"
    "${WEBCORE_DIR}/page"
    "${WEBCORE_DIR}/page/animation"
    "${WEBCORE_DIR}/page/scrolling"
    "${WEBCORE_DIR}/platform"
    "${WEBCORE_DIR}/platform/animation"
    "${WEBCORE_DIR}/platform/audio"
    "${WEBCORE_DIR}/platform/graphics"
    "${WEBCORE_DIR}/platform/graphics/cpu/arm"
    "${WEBCORE_DIR}/platform/graphics/cpu/arm/filters"
    "${WEBCORE_DIR}/platform/graphics/filters"
    "${WEBCORE_DIR}/platform/graphics/filters/texmap"
    "${WEBCORE_DIR}/platform/graphics/harfbuzz"
    "${WEBCORE_DIR}/platform/graphics/harfbuzz/ng"
    "${WEBCORE_DIR}/platform/graphics/opentype"
    "${WEBCORE_DIR}/platform/graphics/texmap"
    "${WEBCORE_DIR}/platform/graphics/transforms"
    "${WEBCORE_DIR}/platform/image-decoders"
    "${WEBCORE_DIR}/platform/image-decoders/bmp"
    "${WEBCORE_DIR}/platform/image-decoders/gif"
    "${WEBCORE_DIR}/platform/image-decoders/ico"
    "${WEBCORE_DIR}/platform/image-decoders/jpeg"
    "${WEBCORE_DIR}/platform/image-decoders/png"
    "${WEBCORE_DIR}/platform/image-decoders/webp"
    "${WEBCORE_DIR}/platform/mediastream"
    "${WEBCORE_DIR}/platform/mock"
    "${WEBCORE_DIR}/platform/network"
    "${WEBCORE_DIR}/platform/sql"
    "${WEBCORE_DIR}/platform/text"
    "${WEBCORE_DIR}/platform/text/icu"
    "${WEBCORE_DIR}/plugins"
    "${WEBCORE_DIR}/rendering"
    "${WEBCORE_DIR}/rendering/line"
    "${WEBCORE_DIR}/rendering/mathml"
    "${WEBCORE_DIR}/rendering/shapes"
    "${WEBCORE_DIR}/rendering/style"
    "${WEBCORE_DIR}/rendering/svg"
    "${WEBCORE_DIR}/replay"
    "${WEBCORE_DIR}/storage"
    "${WEBCORE_DIR}/style"
    "${WEBCORE_DIR}/svg"
    "${WEBCORE_DIR}/svg/animation"
    "${WEBCORE_DIR}/svg/graphics"
    "${WEBCORE_DIR}/svg/graphics/filters"
    "${WEBCORE_DIR}/svg/properties"
    "${WEBCORE_DIR}/websockets"
    "${WEBCORE_DIR}/workers"
    "${WEBCORE_DIR}/xml"
    "${WEBCORE_DIR}/xml/parser"
    "${JAVASCRIPTCORE_DIR}"
    "${JAVASCRIPTCORE_DIR}/ForwardingHeaders"
    "${JAVASCRIPTCORE_DIR}/API"
    "${JAVASCRIPTCORE_DIR}/assembler"
    "${JAVASCRIPTCORE_DIR}/bytecode"
    "${JAVASCRIPTCORE_DIR}/bytecompiler"
    "${JAVASCRIPTCORE_DIR}/dfg"
    "${JAVASCRIPTCORE_DIR}/disassembler"
    "${JAVASCRIPTCORE_DIR}/heap"
    "${JAVASCRIPTCORE_DIR}/debugger"
    "${JAVASCRIPTCORE_DIR}/interpreter"
    "${JAVASCRIPTCORE_DIR}/jit"
    "${JAVASCRIPTCORE_DIR}/llint"
    "${JAVASCRIPTCORE_DIR}/parser"
    "${JAVASCRIPTCORE_DIR}/profiler"
    "${JAVASCRIPTCORE_DIR}/runtime"
    "${JAVASCRIPTCORE_DIR}/yarr"
    "${WTF_DIR}"
    "${DERIVED_SOURCES_DIR}"
    "${DERIVED_SOURCES_DIR}/ForwardingHeaders"
    "${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}"
    "${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/inspector"
    "${DERIVED_SOURCES_WEBCORE_DIR}"
    "${CMAKE_SOURCE_DIR}/Source"
    "${CMAKE_BINARY_DIR}"
)

set(WebCore_IDL_INCLUDES
    Modules/airplay
    Modules/battery
    Modules/encryptedmedia
    Modules/gamepad
    Modules/gamepad/deprecated
    Modules/geolocation
    Modules/indexeddb
    Modules/indieui
    Modules/mediastream
    Modules/notifications
    Modules/proximity
    Modules/quota
    Modules/speech
    Modules/vibration
    Modules/webaudio
    Modules/webdatabase
    Modules/websockets
    bindings/generic
    bindings/js
    css
    dom
    fileapi
    html
    html/canvas
    html/shadow
    html/track
    inspector
    loader/appcache
    page
    plugins
    storage
    svg
    workers
    xml
)

set(WebCore_NON_SVG_IDL_FILES
    Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.idl

    Modules/battery/BatteryManager.idl
    Modules/battery/NavigatorBattery.idl

# FIXME: These were causing name conflicts on Mac, and the Gamepad API is not finished yet.
# https://bugs.webkit.org/show_bug.cgi?id=135858
#   Modules/gamepad/Gamepad.idl
#   Modules/gamepad/GamepadButton.idl
#   Modules/gamepad/GamepadEvent.idl
#   Modules/gamepad/NavigatorGamepad.idl

    Modules/gamepad/deprecated/Gamepad.idl
    Modules/gamepad/deprecated/GamepadList.idl
    Modules/gamepad/deprecated/NavigatorGamepad.idl

    Modules/geolocation/Coordinates.idl
    Modules/geolocation/Geolocation.idl
    Modules/geolocation/Geoposition.idl
    Modules/geolocation/NavigatorGeolocation.idl
    Modules/geolocation/PositionCallback.idl
    Modules/geolocation/PositionError.idl
    Modules/geolocation/PositionErrorCallback.idl

    Modules/indexeddb/DOMWindowIndexedDatabase.idl
    Modules/indexeddb/IDBAny.idl
    Modules/indexeddb/IDBCursor.idl
    Modules/indexeddb/IDBCursorWithValue.idl
    Modules/indexeddb/IDBDatabase.idl
    Modules/indexeddb/IDBFactory.idl
    Modules/indexeddb/IDBIndex.idl
    Modules/indexeddb/IDBKeyRange.idl
    Modules/indexeddb/IDBObjectStore.idl
    Modules/indexeddb/IDBOpenDBRequest.idl
    Modules/indexeddb/IDBRequest.idl
    Modules/indexeddb/IDBTransaction.idl
    Modules/indexeddb/IDBVersionChangeEvent.idl
    Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.idl

    Modules/indieui/UIRequestEvent.idl

    Modules/mediacontrols/MediaControlsHost.idl

    Modules/mediasource/DOMURLMediaSource.idl
    Modules/mediasource/MediaSource.idl
    Modules/mediasource/SourceBuffer.idl
    Modules/mediasource/SourceBufferList.idl
    Modules/mediasource/VideoPlaybackQuality.idl

    Modules/mediastream/AllAudioCapabilities.idl
    Modules/mediastream/AllVideoCapabilities.idl
    Modules/mediastream/AudioStreamTrack.idl
    Modules/mediastream/CapabilityRange.idl
    Modules/mediastream/DOMURLMediaStream.idl
    Modules/mediastream/HTMLMediaElementMediaStream.idl
    Modules/mediastream/MediaSourceStates.idl
    Modules/mediastream/MediaStream.idl
    Modules/mediastream/MediaStreamCapabilities.idl
    Modules/mediastream/MediaStreamEvent.idl
    Modules/mediastream/MediaStreamTrack.idl
    Modules/mediastream/MediaStreamTrackEvent.idl
    Modules/mediastream/MediaStreamTrackSourcesCallback.idl
    Modules/mediastream/MediaTrackConstraint.idl
    Modules/mediastream/MediaTrackConstraintSet.idl
    Modules/mediastream/MediaTrackConstraints.idl
    Modules/mediastream/NavigatorUserMedia.idl
    Modules/mediastream/NavigatorUserMediaError.idl
    Modules/mediastream/NavigatorUserMediaErrorCallback.idl
    Modules/mediastream/NavigatorUserMediaSuccessCallback.idl
    Modules/mediastream/RTCConfiguration.idl
    Modules/mediastream/RTCDTMFSender.idl
    Modules/mediastream/RTCDTMFToneChangeEvent.idl
    Modules/mediastream/RTCDataChannel.idl
    Modules/mediastream/RTCDataChannelEvent.idl
    Modules/mediastream/RTCPeerConnectionErrorCallback.idl
    Modules/mediastream/RTCIceCandidate.idl
    Modules/mediastream/RTCIceCandidateEvent.idl
    Modules/mediastream/RTCIceServer.idl
    Modules/mediastream/RTCPeerConnection.idl
    Modules/mediastream/RTCSessionDescription.idl
    Modules/mediastream/RTCSessionDescriptionCallback.idl
    Modules/mediastream/RTCStatsCallback.idl
    Modules/mediastream/RTCStatsReport.idl
    Modules/mediastream/RTCStatsResponse.idl
    Modules/mediastream/SourceInfo.idl
    Modules/mediastream/VideoStreamTrack.idl

    Modules/navigatorcontentutils/NavigatorContentUtils.idl

    Modules/notifications/DOMWindowNotifications.idl
    Modules/notifications/Notification.idl
    Modules/notifications/NotificationCenter.idl
    Modules/notifications/NotificationPermissionCallback.idl
    Modules/notifications/WorkerGlobalScopeNotifications.idl

    Modules/proximity/DeviceProximityEvent.idl

    Modules/speech/DOMWindowSpeechSynthesis.idl
    Modules/speech/SpeechSynthesis.idl
    Modules/speech/SpeechSynthesisEvent.idl
    Modules/speech/SpeechSynthesisUtterance.idl
    Modules/speech/SpeechSynthesisVoice.idl

    Modules/vibration/NavigatorVibration.idl

    Modules/webaudio/AnalyserNode.idl
    Modules/webaudio/AudioBuffer.idl
    Modules/webaudio/AudioBufferCallback.idl
    Modules/webaudio/AudioBufferSourceNode.idl
    Modules/webaudio/AudioContext.idl
    Modules/webaudio/AudioDestinationNode.idl
    Modules/webaudio/AudioListener.idl
    Modules/webaudio/AudioNode.idl
    Modules/webaudio/AudioParam.idl
    Modules/webaudio/AudioProcessingEvent.idl
    Modules/webaudio/BiquadFilterNode.idl
    Modules/webaudio/ChannelMergerNode.idl
    Modules/webaudio/ChannelSplitterNode.idl
    Modules/webaudio/ConvolverNode.idl
    Modules/webaudio/DelayNode.idl
    Modules/webaudio/DynamicsCompressorNode.idl
    Modules/webaudio/GainNode.idl
    Modules/webaudio/MediaElementAudioSourceNode.idl
    Modules/webaudio/MediaStreamAudioDestinationNode.idl
    Modules/webaudio/MediaStreamAudioSourceNode.idl
    Modules/webaudio/OfflineAudioCompletionEvent.idl
    Modules/webaudio/OfflineAudioContext.idl
    Modules/webaudio/OscillatorNode.idl
    Modules/webaudio/PannerNode.idl
    Modules/webaudio/PeriodicWave.idl
    Modules/webaudio/ScriptProcessorNode.idl
    Modules/webaudio/WaveShaperNode.idl

    Modules/webdatabase/DOMWindowWebDatabase.idl
    Modules/webdatabase/Database.idl
    Modules/webdatabase/DatabaseCallback.idl
    Modules/webdatabase/DatabaseSync.idl
    Modules/webdatabase/SQLError.idl
    Modules/webdatabase/SQLException.idl
    Modules/webdatabase/SQLResultSet.idl
    Modules/webdatabase/SQLResultSetRowList.idl
    Modules/webdatabase/SQLStatementCallback.idl
    Modules/webdatabase/SQLStatementErrorCallback.idl
    Modules/webdatabase/SQLTransaction.idl
    Modules/webdatabase/SQLTransactionCallback.idl
    Modules/webdatabase/SQLTransactionErrorCallback.idl
    Modules/webdatabase/SQLTransactionSync.idl
    Modules/webdatabase/SQLTransactionSyncCallback.idl

    Modules/websockets/CloseEvent.idl
    Modules/websockets/WebSocket.idl

    crypto/CryptoKey.idl
    crypto/CryptoKeyPair.idl
    crypto/SubtleCrypto.idl

    css/CSSCharsetRule.idl
    css/CSSFontFaceLoadEvent.idl
    css/CSSFontFaceRule.idl
    css/CSSImportRule.idl
    css/CSSMediaRule.idl
    css/CSSPageRule.idl
    css/CSSPrimitiveValue.idl
    css/CSSRule.idl
    css/CSSRuleList.idl
    css/CSSStyleDeclaration.idl
    css/CSSStyleRule.idl
    css/CSSStyleSheet.idl
    css/CSSSupportsRule.idl
    css/CSSUnknownRule.idl
    css/CSSValue.idl
    css/CSSValueList.idl
    css/Counter.idl
    css/DOMWindowCSS.idl
    css/FontLoader.idl
    css/MediaList.idl
    css/MediaQueryList.idl
    css/MediaQueryListListener.idl
    css/RGBColor.idl
    css/Rect.idl
    css/StyleMedia.idl
    css/StyleSheet.idl
    css/StyleSheetList.idl
    css/WebKitCSSFilterValue.idl
    css/WebKitCSSKeyframeRule.idl
    css/WebKitCSSKeyframesRule.idl
    css/WebKitCSSMatrix.idl
    css/WebKitCSSRegionRule.idl
    css/WebKitCSSTransformValue.idl
    css/WebKitCSSViewportRule.idl

    dom/Attr.idl
    dom/BeforeLoadEvent.idl
    dom/BeforeUnloadEvent.idl
    dom/CDATASection.idl
    dom/CharacterData.idl
    dom/ChildNode.idl
    dom/ClientRect.idl
    dom/ClientRectList.idl
    dom/Comment.idl
    dom/CompositionEvent.idl
    dom/CustomEvent.idl
    dom/DOMCoreException.idl
    dom/DOMError.idl
    dom/DOMImplementation.idl
    dom/DOMNamedFlowCollection.idl
    dom/DOMStringList.idl
    dom/DOMStringMap.idl
    dom/DataTransfer.idl
    dom/DataTransferItem.idl
    dom/DataTransferItemList.idl
    dom/DeviceMotionEvent.idl
    dom/DeviceOrientationEvent.idl
    dom/Document.idl
    dom/DocumentFragment.idl
    dom/DocumentType.idl
    dom/Element.idl
    dom/Entity.idl
    dom/EntityReference.idl
    dom/ErrorEvent.idl
    dom/Event.idl
    dom/EventException.idl
    dom/EventTarget.idl
    dom/FocusEvent.idl
    dom/HashChangeEvent.idl
    dom/KeyboardEvent.idl
    dom/MessageChannel.idl
    dom/MessageEvent.idl
    dom/MessagePort.idl
    dom/MouseEvent.idl
    dom/MutationEvent.idl
    dom/MutationObserver.idl
    dom/MutationRecord.idl
    dom/NamedNodeMap.idl
    dom/Node.idl
    dom/NodeFilter.idl
    dom/NodeIterator.idl
    dom/NodeList.idl
    dom/Notation.idl
    dom/OverflowEvent.idl
    dom/PageTransitionEvent.idl
    dom/PopStateEvent.idl
    dom/ProcessingInstruction.idl
    dom/ProgressEvent.idl
    dom/Range.idl
    dom/RangeException.idl
    dom/RequestAnimationFrameCallback.idl
    dom/SecurityPolicyViolationEvent.idl
    dom/StringCallback.idl
    dom/Text.idl
    dom/TextEvent.idl
    dom/Touch.idl
    dom/TouchEvent.idl
    dom/TouchList.idl
    dom/TransitionEvent.idl
    dom/TreeWalker.idl
    dom/UIEvent.idl
    dom/WebKitAnimationEvent.idl
    dom/WebKitNamedFlow.idl
    dom/WebKitTransitionEvent.idl
    dom/WheelEvent.idl

    fileapi/Blob.idl
    fileapi/File.idl
    fileapi/FileError.idl
    fileapi/FileException.idl
    fileapi/FileList.idl
    fileapi/FileReader.idl
    fileapi/FileReaderSync.idl

    html/DOMFormData.idl
    html/DOMSettableTokenList.idl
    html/DOMTokenList.idl
    html/DOMURL.idl
    html/HTMLAllCollection.idl
    html/HTMLAnchorElement.idl
    html/HTMLAppletElement.idl
    html/HTMLAreaElement.idl
    html/HTMLAudioElement.idl
    html/HTMLBRElement.idl
    html/HTMLBaseElement.idl
    html/HTMLBaseFontElement.idl
    html/HTMLBodyElement.idl
    html/HTMLButtonElement.idl
    html/HTMLCanvasElement.idl
    html/HTMLCollection.idl
    html/HTMLDListElement.idl
    html/HTMLDataListElement.idl
    html/HTMLDetailsElement.idl
    html/HTMLDirectoryElement.idl
    html/HTMLDivElement.idl
    html/HTMLDocument.idl
    html/HTMLElement.idl
    html/HTMLEmbedElement.idl
    html/HTMLFieldSetElement.idl
    html/HTMLFontElement.idl
    html/HTMLFormControlsCollection.idl
    html/HTMLFormElement.idl
    html/HTMLFrameElement.idl
    html/HTMLFrameSetElement.idl
    html/HTMLHRElement.idl
    html/HTMLHeadElement.idl
    html/HTMLHeadingElement.idl
    html/HTMLHtmlElement.idl
    html/HTMLIFrameElement.idl
    html/HTMLImageElement.idl
    html/HTMLInputElement.idl
    html/HTMLKeygenElement.idl
    html/HTMLLIElement.idl
    html/HTMLLabelElement.idl
    html/HTMLLegendElement.idl
    html/HTMLLinkElement.idl
    html/HTMLMapElement.idl
    html/HTMLMarqueeElement.idl
    html/HTMLMediaElement.idl
    html/HTMLMenuElement.idl
    html/HTMLMetaElement.idl
    html/HTMLMeterElement.idl
    html/HTMLModElement.idl
    html/HTMLOListElement.idl
    html/HTMLObjectElement.idl
    html/HTMLOptGroupElement.idl
    html/HTMLOptionElement.idl
    html/HTMLOptionsCollection.idl
    html/HTMLOutputElement.idl
    html/HTMLParagraphElement.idl
    html/HTMLParamElement.idl
    html/HTMLPreElement.idl
    html/HTMLProgressElement.idl
    html/HTMLQuoteElement.idl
    html/HTMLScriptElement.idl
    html/HTMLSelectElement.idl
    html/HTMLSourceElement.idl
    html/HTMLSpanElement.idl
    html/HTMLStyleElement.idl
    html/HTMLTableCaptionElement.idl
    html/HTMLTableCellElement.idl
    html/HTMLTableColElement.idl
    html/HTMLTableElement.idl
    html/HTMLTableRowElement.idl
    html/HTMLTableSectionElement.idl
    html/HTMLTemplateElement.idl
    html/HTMLTextAreaElement.idl
    html/HTMLTitleElement.idl
    html/HTMLTrackElement.idl
    html/HTMLUListElement.idl
    html/HTMLUnknownElement.idl
    html/HTMLVideoElement.idl
    html/ImageData.idl
    html/MediaController.idl
    html/MediaError.idl
    html/RadioNodeList.idl
    html/TextMetrics.idl
    html/TimeRanges.idl
    html/URLUtils.idl
    html/ValidityState.idl
    html/VoidCallback.idl

    html/canvas/ANGLEInstancedArrays.idl
    html/canvas/CanvasGradient.idl
    html/canvas/CanvasPattern.idl
    html/canvas/CanvasProxy.idl
    html/canvas/CanvasRenderingContext.idl
    html/canvas/CanvasRenderingContext2D.idl
    html/canvas/DOMPath.idl
    html/canvas/EXTShaderTextureLOD.idl
    html/canvas/EXTTextureFilterAnisotropic.idl
    html/canvas/OESElementIndexUint.idl
    html/canvas/OESStandardDerivatives.idl
    html/canvas/OESTextureFloat.idl
    html/canvas/OESTextureFloatLinear.idl
    html/canvas/OESTextureHalfFloat.idl
    html/canvas/OESTextureHalfFloatLinear.idl
    html/canvas/OESVertexArrayObject.idl
    html/canvas/WebGLActiveInfo.idl
    html/canvas/WebGLBuffer.idl
    html/canvas/WebGLCompressedTextureATC.idl
    html/canvas/WebGLCompressedTexturePVRTC.idl
    html/canvas/WebGLCompressedTextureS3TC.idl
    html/canvas/WebGLContextAttributes.idl
    html/canvas/WebGLContextEvent.idl
    html/canvas/WebGLDebugRendererInfo.idl
    html/canvas/WebGLDebugShaders.idl
    html/canvas/WebGLDepthTexture.idl
    html/canvas/WebGLDrawBuffers.idl
    html/canvas/WebGLFramebuffer.idl
    html/canvas/WebGLLoseContext.idl
    html/canvas/WebGLProgram.idl
    html/canvas/WebGLRenderbuffer.idl
    html/canvas/WebGLRenderingContext.idl
    html/canvas/WebGLShader.idl
    html/canvas/WebGLShaderPrecisionFormat.idl
    html/canvas/WebGLTexture.idl
    html/canvas/WebGLUniformLocation.idl
    html/canvas/WebGLVertexArrayObjectOES.idl

    inspector/CommandLineAPIHost.idl
    inspector/InspectorFrontendHost.idl
    inspector/ScriptProfile.idl
    inspector/ScriptProfileNode.idl

    loader/appcache/DOMApplicationCache.idl

    page/AbstractView.idl
    page/BarProp.idl
    page/Crypto.idl
    page/DOMSecurityPolicy.idl
    page/DOMSelection.idl
    page/DOMWindow.idl
    page/EventSource.idl
    page/History.idl
    page/Location.idl
    page/Navigator.idl
    page/PerformanceEntry.idl
    page/PerformanceEntryList.idl
    page/Performance.idl
    page/PerformanceMark.idl
    page/PerformanceMeasure.idl
    page/PerformanceNavigation.idl
    page/PerformanceResourceTiming.idl
    page/PerformanceTiming.idl
    page/Screen.idl
    page/WebKitPoint.idl
    page/WebKitNamespace.idl
    page/UserMessageHandlersNamespace.idl
    page/UserMessageHandler.idl
    page/WindowBase64.idl
    page/WindowTimers.idl
    page/WorkerNavigator.idl

    plugins/DOMMimeType.idl
    plugins/DOMMimeTypeArray.idl
    plugins/DOMPlugin.idl
    plugins/DOMPluginArray.idl

    storage/Storage.idl
    storage/StorageEvent.idl

    workers/AbstractWorker.idl
    workers/DedicatedWorkerGlobalScope.idl
    workers/SharedWorker.idl
    workers/SharedWorkerGlobalScope.idl
    workers/Worker.idl
    workers/WorkerGlobalScope.idl
    workers/WorkerLocation.idl

    xml/DOMParser.idl
    xml/XMLHttpRequest.idl
    xml/XMLHttpRequestException.idl
    xml/XMLHttpRequestProgressEvent.idl
    xml/XMLHttpRequestUpload.idl
    xml/XMLSerializer.idl
    xml/XPathEvaluator.idl
    xml/XPathException.idl
    xml/XPathExpression.idl
    xml/XPathNSResolver.idl
    xml/XPathResult.idl
    xml/XSLTProcessor.idl
)

set(WebCore_SVG_IDL_FILES
    svg/SVGAElement.idl
    svg/SVGAltGlyphDefElement.idl
    svg/SVGAltGlyphElement.idl
    svg/SVGAltGlyphItemElement.idl
    svg/SVGAngle.idl
    svg/SVGAnimateColorElement.idl
    svg/SVGAnimateElement.idl
    svg/SVGAnimateMotionElement.idl
    svg/SVGAnimateTransformElement.idl
    svg/SVGAnimatedAngle.idl
    svg/SVGAnimatedBoolean.idl
    svg/SVGAnimatedEnumeration.idl
    svg/SVGAnimatedInteger.idl
    svg/SVGAnimatedLength.idl
    svg/SVGAnimatedLengthList.idl
    svg/SVGAnimatedNumber.idl
    svg/SVGAnimatedNumberList.idl
    svg/SVGAnimatedPreserveAspectRatio.idl
    svg/SVGAnimatedRect.idl
    svg/SVGAnimatedString.idl
    svg/SVGAnimatedTransformList.idl
    svg/SVGAnimationElement.idl
    svg/SVGCircleElement.idl
    svg/SVGClipPathElement.idl
    svg/SVGColor.idl
    svg/SVGComponentTransferFunctionElement.idl
    svg/SVGCursorElement.idl
    svg/SVGDefsElement.idl
    svg/SVGDescElement.idl
    svg/SVGDocument.idl
    svg/SVGElement.idl
    svg/SVGElementInstance.idl
    svg/SVGElementInstanceList.idl
    svg/SVGEllipseElement.idl
    svg/SVGException.idl
    svg/SVGExternalResourcesRequired.idl
    svg/SVGFEBlendElement.idl
    svg/SVGFEColorMatrixElement.idl
    svg/SVGFEComponentTransferElement.idl
    svg/SVGFECompositeElement.idl
    svg/SVGFEConvolveMatrixElement.idl
    svg/SVGFEDiffuseLightingElement.idl
    svg/SVGFEDisplacementMapElement.idl
    svg/SVGFEDistantLightElement.idl
    svg/SVGFEDropShadowElement.idl
    svg/SVGFEFloodElement.idl
    svg/SVGFEFuncAElement.idl
    svg/SVGFEFuncBElement.idl
    svg/SVGFEFuncGElement.idl
    svg/SVGFEFuncRElement.idl
    svg/SVGFEGaussianBlurElement.idl
    svg/SVGFEImageElement.idl
    svg/SVGFEMergeElement.idl
    svg/SVGFEMergeNodeElement.idl
    svg/SVGFEMorphologyElement.idl
    svg/SVGFEOffsetElement.idl
    svg/SVGFEPointLightElement.idl
    svg/SVGFESpecularLightingElement.idl
    svg/SVGFESpotLightElement.idl
    svg/SVGFETileElement.idl
    svg/SVGFETurbulenceElement.idl
    svg/SVGFilterElement.idl
    svg/SVGFilterPrimitiveStandardAttributes.idl
    svg/SVGFitToViewBox.idl
    svg/SVGFontElement.idl
    svg/SVGFontFaceElement.idl
    svg/SVGFontFaceFormatElement.idl
    svg/SVGFontFaceNameElement.idl
    svg/SVGFontFaceSrcElement.idl
    svg/SVGFontFaceUriElement.idl
    svg/SVGForeignObjectElement.idl
    svg/SVGGElement.idl
    svg/SVGGlyphElement.idl
    svg/SVGGlyphRefElement.idl
    svg/SVGGradientElement.idl
    svg/SVGGraphicsElement.idl
    svg/SVGHKernElement.idl
    svg/SVGImageElement.idl
    svg/SVGLength.idl
    svg/SVGLengthList.idl
    svg/SVGLineElement.idl
    svg/SVGLinearGradientElement.idl
    svg/SVGMPathElement.idl
    svg/SVGMarkerElement.idl
    svg/SVGMaskElement.idl
    svg/SVGMatrix.idl
    svg/SVGMetadataElement.idl
    svg/SVGMissingGlyphElement.idl
    svg/SVGNumber.idl
    svg/SVGNumberList.idl
    svg/SVGPaint.idl
    svg/SVGPathElement.idl
    svg/SVGPathSeg.idl
    svg/SVGPathSegArcAbs.idl
    svg/SVGPathSegArcRel.idl
    svg/SVGPathSegClosePath.idl
    svg/SVGPathSegCurvetoCubicAbs.idl
    svg/SVGPathSegCurvetoCubicRel.idl
    svg/SVGPathSegCurvetoCubicSmoothAbs.idl
    svg/SVGPathSegCurvetoCubicSmoothRel.idl
    svg/SVGPathSegCurvetoQuadraticAbs.idl
    svg/SVGPathSegCurvetoQuadraticRel.idl
    svg/SVGPathSegCurvetoQuadraticSmoothAbs.idl
    svg/SVGPathSegCurvetoQuadraticSmoothRel.idl
    svg/SVGPathSegLinetoAbs.idl
    svg/SVGPathSegLinetoHorizontalAbs.idl
    svg/SVGPathSegLinetoHorizontalRel.idl
    svg/SVGPathSegLinetoRel.idl
    svg/SVGPathSegLinetoVerticalAbs.idl
    svg/SVGPathSegLinetoVerticalRel.idl
    svg/SVGPathSegList.idl
    svg/SVGPathSegMovetoAbs.idl
    svg/SVGPathSegMovetoRel.idl
    svg/SVGPatternElement.idl
    svg/SVGPoint.idl
    svg/SVGPointList.idl
    svg/SVGPolygonElement.idl
    svg/SVGPolylineElement.idl
    svg/SVGPreserveAspectRatio.idl
    svg/SVGRadialGradientElement.idl
    svg/SVGRect.idl
    svg/SVGRectElement.idl
    svg/SVGRenderingIntent.idl
    svg/SVGSVGElement.idl
    svg/SVGScriptElement.idl
    svg/SVGSetElement.idl
    svg/SVGStopElement.idl
    svg/SVGStringList.idl
    svg/SVGStyleElement.idl
    svg/SVGSwitchElement.idl
    svg/SVGSymbolElement.idl
    svg/SVGTRefElement.idl
    svg/SVGTSpanElement.idl
    svg/SVGTests.idl
    svg/SVGTextContentElement.idl
    svg/SVGTextElement.idl
    svg/SVGTextPathElement.idl
    svg/SVGTextPositioningElement.idl
    svg/SVGTitleElement.idl
    svg/SVGTransform.idl
    svg/SVGTransformList.idl
    svg/SVGURIReference.idl
    svg/SVGUnitTypes.idl
    svg/SVGUseElement.idl
    svg/SVGVKernElement.idl
    svg/SVGViewElement.idl
    svg/SVGViewSpec.idl
    svg/SVGZoomAndPan.idl
    svg/SVGZoomEvent.idl
)

set(WebCore_IDL_FILES
    ${WebCore_NON_SVG_IDL_FILES}
    ${WebCore_SVG_IDL_FILES}
)

set(WebCore_INSPECTOR_SCRIPTS_DIR "${JAVASCRIPTCORE_DIR}/inspector/scripts")

set(WebCore_INSPECTOR_PROTOCOL_SCRIPTS
    ${WebCore_INSPECTOR_SCRIPTS_DIR}/generate-inspector-protocol-bindings.py
    ${WebCore_INSPECTOR_SCRIPTS_DIR}/codegen/generate_backend_commands.py
    ${WebCore_INSPECTOR_SCRIPTS_DIR}/codegen/generate_backend_dispatcher_header.py
    ${WebCore_INSPECTOR_SCRIPTS_DIR}/codegen/generate_backend_dispatcher_implementation.py
    ${WebCore_INSPECTOR_SCRIPTS_DIR}/codegen/generate_frontend_dispatcher_header.py
    ${WebCore_INSPECTOR_SCRIPTS_DIR}/codegen/generate_frontend_dispatcher_implementation.py
    ${WebCore_INSPECTOR_SCRIPTS_DIR}/codegen/generate_protocol_types_header.py
    ${WebCore_INSPECTOR_SCRIPTS_DIR}/codegen/generate_protocol_types_implementation.py
    ${WebCore_INSPECTOR_SCRIPTS_DIR}/codegen/generator.py
    ${WebCore_INSPECTOR_SCRIPTS_DIR}/codegen/generator_templates.py
    ${WebCore_INSPECTOR_SCRIPTS_DIR}/codegen/__init__.py
    ${WebCore_INSPECTOR_SCRIPTS_DIR}/codegen/models.py
)

set(WebCore_INSPECTOR_DOMAINS
    ${WEBCORE_DIR}/inspector/protocol/ApplicationCache.json
    ${WEBCORE_DIR}/inspector/protocol/CSS.json
    ${WEBCORE_DIR}/inspector/protocol/DOM.json
    ${WEBCORE_DIR}/inspector/protocol/DOMDebugger.json
    ${WEBCORE_DIR}/inspector/protocol/DOMStorage.json
    ${WEBCORE_DIR}/inspector/protocol/IndexedDB.json
    ${WEBCORE_DIR}/inspector/protocol/LayerTree.json
    ${WEBCORE_DIR}/inspector/protocol/Network.json
    ${WEBCORE_DIR}/inspector/protocol/Page.json
    ${WEBCORE_DIR}/inspector/protocol/Timeline.json
    ${WEBCORE_DIR}/inspector/protocol/Worker.json
)

include(webcore_files.cmake)

set(WebCore_SOURCES
    Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.cpp

    Modules/battery/BatteryController.cpp
    Modules/battery/BatteryManager.cpp
    Modules/battery/BatteryStatus.cpp
    Modules/battery/NavigatorBattery.cpp

    Modules/gamepad/deprecated/Gamepad.cpp
    Modules/gamepad/deprecated/GamepadList.cpp
    Modules/gamepad/deprecated/NavigatorGamepad.cpp

    Modules/geolocation/Coordinates.cpp
    Modules/geolocation/Geolocation.cpp
    Modules/geolocation/GeolocationController.cpp
    Modules/geolocation/NavigatorGeolocation.cpp

    Modules/indexeddb/DOMWindowIndexedDatabase.cpp
    Modules/indexeddb/IDBAny.cpp
    Modules/indexeddb/IDBCursor.cpp
    Modules/indexeddb/IDBCursorBackend.cpp
    Modules/indexeddb/IDBCursorBackendOperations.cpp
    Modules/indexeddb/IDBCursorWithValue.cpp
    Modules/indexeddb/IDBDatabase.cpp
    Modules/indexeddb/IDBDatabaseBackend.cpp
    Modules/indexeddb/IDBDatabaseCallbacksImpl.cpp
    Modules/indexeddb/IDBDatabaseException.cpp
    Modules/indexeddb/IDBDatabaseMetadata.cpp
    Modules/indexeddb/IDBEventDispatcher.cpp
    Modules/indexeddb/IDBFactory.cpp
    Modules/indexeddb/IDBFactoryBackendInterface.cpp
    Modules/indexeddb/IDBIndex.cpp
    Modules/indexeddb/IDBKey.cpp
    Modules/indexeddb/IDBKeyData.cpp
    Modules/indexeddb/IDBKeyPath.cpp
    Modules/indexeddb/IDBKeyRange.cpp
    Modules/indexeddb/IDBKeyRangeData.cpp
    Modules/indexeddb/IDBObjectStore.cpp
    Modules/indexeddb/IDBOpenDBRequest.cpp
    Modules/indexeddb/IDBPendingTransactionMonitor.cpp
    Modules/indexeddb/IDBRequest.cpp
    Modules/indexeddb/IDBTransaction.cpp
    Modules/indexeddb/IDBTransactionBackend.cpp
    Modules/indexeddb/IDBTransactionBackendOperations.cpp
    Modules/indexeddb/IDBTransactionCoordinator.cpp
    Modules/indexeddb/IDBVersionChangeEvent.cpp
    Modules/indexeddb/PageGroupIndexedDatabase.cpp
    Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.cpp

    Modules/mediacontrols/MediaControlsHost.cpp

    Modules/mediasource/DOMURLMediaSource.cpp
    Modules/mediasource/MediaSource.cpp
    Modules/mediasource/MediaSourceRegistry.cpp
    Modules/mediasource/SampleMap.cpp
    Modules/mediasource/SourceBuffer.cpp
    Modules/mediasource/SourceBufferList.cpp
    Modules/mediasource/VideoPlaybackQuality.cpp

    Modules/mediastream/AudioStreamTrack.cpp
    Modules/mediastream/CapabilityRange.cpp
    Modules/mediastream/DOMURLMediaStream.cpp
    Modules/mediastream/HTMLMediaElementMediaStream.cpp
    Modules/mediastream/MediaConstraintsImpl.cpp
    Modules/mediastream/MediaSourceStates.cpp
    Modules/mediastream/MediaStream.cpp
    Modules/mediastream/MediaStreamCapabilities.cpp
    Modules/mediastream/MediaStreamEvent.cpp
    Modules/mediastream/MediaStreamRegistry.cpp
    Modules/mediastream/MediaStreamTrack.cpp
    Modules/mediastream/MediaStreamTrackEvent.cpp
    Modules/mediastream/MediaStreamTrackSourcesRequest.cpp
    Modules/mediastream/MediaTrackConstraint.cpp
    Modules/mediastream/MediaTrackConstraintSet.cpp
    Modules/mediastream/MediaTrackConstraints.cpp
    Modules/mediastream/NavigatorUserMedia.cpp
    Modules/mediastream/NavigatorUserMediaError.cpp
    Modules/mediastream/RTCDTMFSender.cpp
    Modules/mediastream/RTCDTMFToneChangeEvent.cpp
    Modules/mediastream/RTCDataChannel.cpp
    Modules/mediastream/RTCDataChannelEvent.cpp
    Modules/mediastream/RTCIceCandidate.cpp
    Modules/mediastream/RTCIceCandidateEvent.cpp
    Modules/mediastream/RTCOfferAnswerOptions.cpp
    Modules/mediastream/RTCPeerConnection.cpp
    Modules/mediastream/RTCSessionDescription.cpp
    Modules/mediastream/RTCSessionDescriptionRequestImpl.cpp
    Modules/mediastream/RTCStatsReport.cpp
    Modules/mediastream/RTCStatsRequestImpl.cpp
    Modules/mediastream/RTCStatsResponse.cpp
    Modules/mediastream/RTCVoidRequestImpl.cpp
    Modules/mediastream/SourceInfo.cpp
    Modules/mediastream/UserMediaController.cpp
    Modules/mediastream/UserMediaRequest.cpp
    Modules/mediastream/VideoStreamTrack.cpp

    Modules/navigatorcontentutils/NavigatorContentUtils.cpp

    Modules/notifications/DOMWindowNotifications.cpp
    Modules/notifications/Notification.cpp
    Modules/notifications/NotificationCenter.cpp
    Modules/notifications/NotificationController.cpp
    Modules/notifications/WorkerGlobalScopeNotifications.cpp

    Modules/proximity/DeviceProximityController.cpp
    Modules/proximity/DeviceProximityEvent.cpp

    Modules/speech/DOMWindowSpeechSynthesis.cpp
    Modules/speech/SpeechSynthesis.cpp
    Modules/speech/SpeechSynthesisEvent.cpp
    Modules/speech/SpeechSynthesisUtterance.cpp
    Modules/speech/SpeechSynthesisVoice.cpp

    Modules/vibration/NavigatorVibration.cpp
    Modules/vibration/Vibration.cpp

     Modules/webaudio/AnalyserNode.cpp
    Modules/webaudio/AsyncAudioDecoder.cpp
    Modules/webaudio/AudioBasicInspectorNode.cpp
    Modules/webaudio/AudioBasicProcessorNode.cpp
    Modules/webaudio/AudioBuffer.cpp
    Modules/webaudio/AudioBufferSourceNode.cpp
    Modules/webaudio/AudioContext.cpp
    Modules/webaudio/AudioDestinationNode.cpp
    Modules/webaudio/AudioListener.cpp
    Modules/webaudio/AudioNode.cpp
    Modules/webaudio/AudioNodeInput.cpp
    Modules/webaudio/AudioNodeOutput.cpp
    Modules/webaudio/AudioParam.cpp
    Modules/webaudio/AudioParamTimeline.cpp
    Modules/webaudio/AudioProcessingEvent.cpp
    Modules/webaudio/AudioScheduledSourceNode.cpp
    Modules/webaudio/AudioSummingJunction.cpp
    Modules/webaudio/BiquadDSPKernel.cpp
    Modules/webaudio/BiquadFilterNode.cpp
    Modules/webaudio/BiquadProcessor.cpp
    Modules/webaudio/ChannelMergerNode.cpp
    Modules/webaudio/ChannelSplitterNode.cpp
    Modules/webaudio/ConvolverNode.cpp
    Modules/webaudio/DefaultAudioDestinationNode.cpp
    Modules/webaudio/DelayDSPKernel.cpp
    Modules/webaudio/DelayNode.cpp
    Modules/webaudio/DelayProcessor.cpp
    Modules/webaudio/DynamicsCompressorNode.cpp
    Modules/webaudio/GainNode.cpp
    Modules/webaudio/MediaElementAudioSourceNode.cpp
    Modules/webaudio/MediaStreamAudioDestinationNode.cpp
    Modules/webaudio/MediaStreamAudioSource.cpp
    Modules/webaudio/MediaStreamAudioSourceNode.cpp
    Modules/webaudio/OfflineAudioCompletionEvent.cpp
    Modules/webaudio/OfflineAudioContext.cpp
    Modules/webaudio/OfflineAudioDestinationNode.cpp
    Modules/webaudio/OscillatorNode.cpp
    Modules/webaudio/PannerNode.cpp
    Modules/webaudio/PeriodicWave.cpp
    Modules/webaudio/RealtimeAnalyser.cpp
    Modules/webaudio/ScriptProcessorNode.cpp
    Modules/webaudio/WaveShaperDSPKernel.cpp
    Modules/webaudio/WaveShaperNode.cpp
    Modules/webaudio/WaveShaperProcessor.cpp

    Modules/webdatabase/ChangeVersionWrapper.cpp
    Modules/webdatabase/DOMWindowWebDatabase.cpp
    Modules/webdatabase/Database.cpp
    Modules/webdatabase/DatabaseAuthorizer.cpp
    Modules/webdatabase/DatabaseBackend.cpp
    Modules/webdatabase/DatabaseBackendBase.cpp
    Modules/webdatabase/DatabaseBackendContext.cpp
    Modules/webdatabase/DatabaseBackendSync.cpp
    Modules/webdatabase/DatabaseBase.cpp
    Modules/webdatabase/DatabaseContext.cpp
    Modules/webdatabase/DatabaseManager.cpp
    Modules/webdatabase/DatabaseServer.cpp
    Modules/webdatabase/DatabaseSync.cpp
    Modules/webdatabase/DatabaseTask.cpp
    Modules/webdatabase/DatabaseThread.cpp
    Modules/webdatabase/DatabaseTracker.cpp
    Modules/webdatabase/OriginLock.cpp
    Modules/webdatabase/SQLException.cpp
    Modules/webdatabase/SQLResultSet.cpp
    Modules/webdatabase/SQLResultSetRowList.cpp
    Modules/webdatabase/SQLStatement.cpp
    Modules/webdatabase/SQLStatementBackend.cpp
    Modules/webdatabase/SQLStatementSync.cpp
    Modules/webdatabase/SQLTransaction.cpp
    Modules/webdatabase/SQLTransactionBackend.cpp
    Modules/webdatabase/SQLTransactionBackendSync.cpp
    Modules/webdatabase/SQLTransactionClient.cpp
    Modules/webdatabase/SQLTransactionCoordinator.cpp
    Modules/webdatabase/SQLTransactionStateMachine.cpp
    Modules/webdatabase/SQLTransactionSync.cpp

    Modules/websockets/ThreadableWebSocketChannel.cpp
    Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp
    Modules/websockets/WebSocket.cpp
    Modules/websockets/WebSocketChannel.cpp
    Modules/websockets/WebSocketDeflateFramer.cpp
    Modules/websockets/WebSocketDeflater.cpp
    Modules/websockets/WebSocketExtensionDispatcher.cpp
    Modules/websockets/WebSocketExtensionParser.cpp
    Modules/websockets/WebSocketFrame.cpp
    Modules/websockets/WebSocketHandshake.cpp
    Modules/websockets/WorkerThreadableWebSocketChannel.cpp
    
    accessibility/AXObjectCache.cpp
    accessibility/AccessibilityARIAGrid.cpp
    accessibility/AccessibilityARIAGridCell.cpp
    accessibility/AccessibilityARIAGridRow.cpp
    accessibility/AccessibilityImageMapLink.cpp
    accessibility/AccessibilityList.cpp
    accessibility/AccessibilityListBox.cpp
    accessibility/AccessibilityListBoxOption.cpp
    accessibility/AccessibilityMediaControls.cpp
    accessibility/AccessibilityMenuList.cpp
    accessibility/AccessibilityMenuListOption.cpp
    accessibility/AccessibilityMenuListPopup.cpp
    accessibility/AccessibilityMockObject.cpp
    accessibility/AccessibilityNodeObject.cpp
    accessibility/AccessibilityObject.cpp
    accessibility/AccessibilityProgressIndicator.cpp
    accessibility/AccessibilityRenderObject.cpp
    accessibility/AccessibilitySVGRoot.cpp
    accessibility/AccessibilityScrollView.cpp
    accessibility/AccessibilityScrollbar.cpp
    accessibility/AccessibilitySearchFieldButtons.cpp
    accessibility/AccessibilitySlider.cpp
    accessibility/AccessibilitySpinButton.cpp
    accessibility/AccessibilityTable.cpp
    accessibility/AccessibilityTableCell.cpp
    accessibility/AccessibilityTableColumn.cpp
    accessibility/AccessibilityTableHeaderContainer.cpp
    accessibility/AccessibilityTableRow.cpp

    bindings/generic/ActiveDOMCallback.cpp
    bindings/generic/RuntimeEnabledFeatures.cpp

    bindings/js/ArrayValue.cpp
    bindings/js/CallbackFunction.cpp
    bindings/js/DOMWrapperWorld.cpp
    bindings/js/Dictionary.cpp
    bindings/js/GCController.cpp
    bindings/js/IDBBindingUtilities.cpp
    bindings/js/JSAttrCustom.cpp
    bindings/js/JSAudioBufferSourceNodeCustom.cpp
    bindings/js/JSAudioContextCustom.cpp
    bindings/js/JSAudioTrackCustom.cpp
    bindings/js/JSAudioTrackListCustom.cpp
    bindings/js/JSBiquadFilterNodeCustom.cpp
    bindings/js/JSBlobCustom.cpp
    bindings/js/JSCDATASectionCustom.cpp
    bindings/js/JSCSSRuleCustom.cpp
    bindings/js/JSCSSRuleListCustom.cpp
    bindings/js/JSCSSStyleDeclarationCustom.cpp
    bindings/js/JSCSSValueCustom.cpp
    bindings/js/JSCallbackData.cpp
    bindings/js/JSCanvasRenderingContext2DCustom.cpp
    bindings/js/JSCanvasRenderingContextCustom.cpp
    bindings/js/JSDataCueCustom.cpp
    bindings/js/JSDataTransferCustom.cpp
    bindings/js/JSCommandLineAPIHostCustom.cpp
    bindings/js/JSCryptoAlgorithmBuilder.cpp
    bindings/js/JSCryptoAlgorithmDictionary.cpp
    bindings/js/JSCryptoCustom.cpp
    bindings/js/JSCryptoKeyCustom.cpp
    bindings/js/JSCryptoKeyPairCustom.cpp
    bindings/js/JSCryptoKeySerializationJWK.cpp
    bindings/js/JSCryptoOperationData.cpp
    bindings/js/JSCustomSQLStatementErrorCallback.cpp
    bindings/js/JSCustomXPathNSResolver.cpp
    bindings/js/JSDOMBinding.cpp
    bindings/js/JSDOMFormDataCustom.cpp
    bindings/js/JSDOMGlobalObject.cpp
    bindings/js/JSDOMGlobalObjectTask.cpp
    bindings/js/JSDOMMimeTypeArrayCustom.cpp
    bindings/js/JSDOMPluginArrayCustom.cpp
    bindings/js/JSDOMPluginCustom.cpp
    bindings/js/JSDOMPromise.cpp
    bindings/js/JSDOMStringListCustom.cpp
    bindings/js/JSDOMStringMapCustom.cpp
    bindings/js/JSDOMWindowBase.cpp
    bindings/js/JSDOMWindowCustom.cpp
    bindings/js/JSDOMWindowShell.cpp
    bindings/js/JSDOMWrapper.cpp
    bindings/js/JSDedicatedWorkerGlobalScopeCustom.cpp
    bindings/js/JSDeviceMotionEventCustom.cpp
    bindings/js/JSDeviceOrientationEventCustom.cpp
    bindings/js/JSDictionary.cpp
    bindings/js/JSDocumentCustom.cpp
    bindings/js/JSElementCustom.cpp
    bindings/js/JSErrorHandler.cpp
    bindings/js/JSEventCustom.cpp
    bindings/js/JSEventListener.cpp
    bindings/js/JSEventTargetCustom.cpp
    bindings/js/JSExceptionBase.cpp
    bindings/js/JSFileReaderCustom.cpp
    bindings/js/JSGeolocationCustom.cpp
    bindings/js/JSHTMLAllCollectionCustom.cpp
    bindings/js/JSHTMLAppletElementCustom.cpp
    bindings/js/JSHTMLCanvasElementCustom.cpp
    bindings/js/JSHTMLCollectionCustom.cpp
    bindings/js/JSHTMLDocumentCustom.cpp
    bindings/js/JSHTMLElementCustom.cpp
    bindings/js/JSHTMLEmbedElementCustom.cpp
    bindings/js/JSHTMLFormControlsCollectionCustom.cpp
    bindings/js/JSHTMLFormElementCustom.cpp
    bindings/js/JSHTMLFrameElementCustom.cpp
    bindings/js/JSHTMLFrameSetElementCustom.cpp
    bindings/js/JSHTMLInputElementCustom.cpp
    bindings/js/JSHTMLLinkElementCustom.cpp
    bindings/js/JSHTMLMediaElementCustom.cpp
    bindings/js/JSHTMLObjectElementCustom.cpp
    bindings/js/JSHTMLOptionsCollectionCustom.cpp
    bindings/js/JSHTMLSelectElementCustom.cpp
    bindings/js/JSHTMLTemplateElementCustom.cpp
    bindings/js/JSHistoryCustom.cpp
    bindings/js/JSIDBAnyCustom.cpp
    bindings/js/JSIDBDatabaseCustom.cpp
    bindings/js/JSIDBObjectStoreCustom.cpp
    bindings/js/JSImageConstructor.cpp
    bindings/js/JSImageDataCustom.cpp
    bindings/js/JSInspectorFrontendHostCustom.cpp
    bindings/js/JSLazyEventListener.cpp
    bindings/js/JSLocationCustom.cpp
    bindings/js/JSMainThreadExecState.cpp
    bindings/js/JSMediaSourceStatesCustom.cpp
    bindings/js/JSMediaStreamCapabilitiesCustom.cpp
    bindings/js/JSMessageChannelCustom.cpp
    bindings/js/JSMessageEventCustom.cpp
    bindings/js/JSMessagePortCustom.cpp
    bindings/js/JSMutationCallback.cpp
    bindings/js/JSMutationObserverCustom.cpp
    bindings/js/JSNamedNodeMapCustom.cpp
    bindings/js/JSNavigatorCustom.cpp
    bindings/js/JSNodeCustom.cpp
    bindings/js/JSNodeFilterCondition.cpp
    bindings/js/JSNodeFilterCustom.cpp
    bindings/js/JSNodeIteratorCustom.cpp
    bindings/js/JSNodeListCustom.cpp
    bindings/js/JSOscillatorNodeCustom.cpp
    bindings/js/JSPannerNodeCustom.cpp
    bindings/js/JSPerformanceEntryCustom.cpp
    bindings/js/JSPluginElementFunctions.cpp
    bindings/js/JSPopStateEventCustom.cpp
    bindings/js/JSRTCIceCandidateCustom.cpp
    bindings/js/JSRTCPeerConnectionCustom.cpp
    bindings/js/JSRTCSessionDescriptionCustom.cpp
    bindings/js/JSRTCStatsResponseCustom.cpp
    bindings/js/JSRequestAnimationFrameCallbackCustom.cpp
    bindings/js/JSSQLResultSetRowListCustom.cpp
    bindings/js/JSSQLTransactionCustom.cpp
    bindings/js/JSSQLTransactionSyncCustom.cpp
    bindings/js/JSSVGElementInstanceCustom.cpp
    bindings/js/JSSVGLengthCustom.cpp
    bindings/js/JSSVGPathSegCustom.cpp
    bindings/js/JSSharedWorkerCustom.cpp
    bindings/js/JSStorageCustom.cpp
    bindings/js/JSStyleSheetCustom.cpp
    bindings/js/JSStyleSheetListCustom.cpp
    bindings/js/JSSubtleCryptoCustom.cpp
    bindings/js/JSSVGElementInstanceCustom.cpp
    bindings/js/JSSVGLengthCustom.cpp
    bindings/js/JSSVGPathSegCustom.cpp
    bindings/js/JSTextCustom.cpp
    bindings/js/JSTextTrackCueCustom.cpp
    bindings/js/JSTextTrackCustom.cpp
    bindings/js/JSTextTrackListCustom.cpp
    bindings/js/JSTouchCustom.cpp
    bindings/js/JSTouchListCustom.cpp
    bindings/js/JSTrackCustom.cpp
    bindings/js/JSTrackEventCustom.cpp
    bindings/js/JSTreeWalkerCustom.cpp
    bindings/js/JSVideoTrackCustom.cpp
    bindings/js/JSVideoTrackListCustom.cpp
    bindings/js/JSWebGLRenderingContextCustom.cpp
    bindings/js/JSWebKitPointCustom.cpp
    bindings/js/JSWorkerCustom.cpp
    bindings/js/JSWorkerGlobalScopeBase.cpp
    bindings/js/JSWorkerGlobalScopeCustom.cpp
    bindings/js/JSXMLHttpRequestCustom.cpp
    bindings/js/JSXPathResultCustom.cpp
    bindings/js/JSXSLTProcessorCustom.cpp
    bindings/js/ScheduledAction.cpp
    bindings/js/ScriptCachedFrameData.cpp
    bindings/js/ScriptController.cpp
    bindings/js/ScriptGlobalObject.cpp
    bindings/js/ScriptState.cpp
    bindings/js/SerializedScriptValue.cpp
    bindings/js/WebCoreTypedArrayController.cpp
    bindings/js/WorkerScriptController.cpp
    bindings/js/WorkerScriptDebugServer.cpp

    bridge/IdentifierRep.cpp
    bridge/NP_jsobject.cpp
    bridge/npruntime.cpp
    bridge/runtime_array.cpp
    bridge/runtime_method.cpp
    bridge/runtime_object.cpp
    bridge/runtime_root.cpp

    bridge/c/CRuntimeObject.cpp
    bridge/c/c_class.cpp
    bridge/c/c_instance.cpp
    bridge/c/c_runtime.cpp
    bridge/c/c_utility.cpp

    bridge/jsc/BridgeJSC.cpp

    css/BasicShapeFunctions.cpp
    css/CSSAspectRatioValue.cpp
    css/CSSBasicShapes.cpp
    css/CSSBorderImage.cpp
    css/CSSBorderImageSliceValue.cpp
    css/CSSCalculationValue.cpp
    css/CSSCanvasValue.cpp
    css/CSSCharsetRule.cpp
    css/CSSComputedStyleDeclaration.cpp
    css/CSSCrossfadeValue.cpp
    css/CSSCursorImageValue.cpp
    css/CSSDefaultStyleSheets.cpp
    css/CSSFilterImageValue.cpp
    css/CSSFontFace.cpp
    css/CSSFontFaceLoadEvent.cpp
    css/CSSFontFaceRule.cpp
    css/CSSFontFaceSource.cpp
    css/CSSFontFaceSrcValue.cpp
    css/CSSFontFeatureValue.cpp
    css/CSSFontSelector.cpp
    css/CSSFontValue.cpp
    css/CSSFunctionValue.cpp
    css/CSSGradientValue.cpp
    css/CSSGridLineNamesValue.cpp
    css/CSSGridTemplateAreasValue.cpp
    css/CSSGroupingRule.cpp
    css/CSSImageGeneratorValue.cpp
    css/CSSImageSetValue.cpp
    css/CSSImageValue.cpp
    css/CSSImportRule.cpp
    css/CSSInheritedValue.cpp
    css/CSSInitialValue.cpp
    css/CSSLineBoxContainValue.cpp
    css/CSSMediaRule.cpp
    css/CSSOMUtils.cpp
    css/CSSPageRule.cpp
    css/CSSParser.cpp
    css/CSSParserValues.cpp
    css/CSSPrimitiveValue.cpp
    css/CSSProperty.cpp
    css/CSSPropertySourceData.cpp
    css/CSSReflectValue.cpp
    css/CSSRule.cpp
    css/CSSRuleList.cpp
    css/CSSSegmentedFontFace.cpp
    css/CSSSelector.cpp
    css/CSSSelectorList.cpp
    css/CSSShadowValue.cpp
    css/CSSStyleRule.cpp
    css/CSSStyleSheet.cpp
    css/CSSSupportsRule.cpp
    css/CSSTimingFunctionValue.cpp
    css/CSSToLengthConversionData.cpp
    css/CSSToStyleMap.cpp
    css/CSSUnicodeRangeValue.cpp
    css/CSSValue.cpp
    css/CSSValueList.cpp
    css/CSSValuePool.cpp
    css/DOMWindowCSS.cpp
    css/DeprecatedStyleBuilder.cpp
    css/DocumentRuleSets.cpp
    css/ElementRuleCollector.cpp
    css/FontLoader.cpp
    css/InspectorCSSOMWrappers.cpp
    css/LengthFunctions.cpp
    css/MediaFeatureNames.cpp
    css/MediaList.cpp
    css/MediaQuery.cpp
    css/MediaQueryEvaluator.cpp
    css/MediaQueryExp.cpp
    css/MediaQueryList.cpp
    css/MediaQueryMatcher.cpp
    css/PageRuleCollector.cpp
    css/PropertySetCSSStyleDeclaration.cpp
    css/RGBColor.cpp
    css/RuleFeature.cpp
    css/RuleSet.cpp
    css/SVGCSSComputedStyleDeclaration.cpp
    css/SVGCSSParser.cpp
    css/SVGCSSStyleSelector.cpp
    css/SelectorChecker.cpp
    css/SelectorFilter.cpp
    css/SourceSizeList.cpp
    css/StyleInvalidationAnalysis.cpp
    css/StyleMedia.cpp
    css/StyleProperties.cpp
    css/StylePropertyShorthand.cpp
    css/StyleResolver.cpp
    css/StyleRule.cpp
    css/StyleRuleImport.cpp
    css/StyleSheet.cpp
    css/StyleSheetContents.cpp
    css/StyleSheetList.cpp
    css/TransformFunctions.cpp
    css/ViewportStyleResolver.cpp
    css/WebKitCSSFilterValue.cpp
    css/WebKitCSSKeyframeRule.cpp
    css/WebKitCSSKeyframesRule.cpp
    css/WebKitCSSMatrix.cpp
    css/WebKitCSSRegionRule.cpp
    css/WebKitCSSTransformValue.cpp
    css/WebKitCSSViewportRule.cpp

    cssjit/SelectorCompiler.cpp

    dom/ActiveDOMObject.cpp
    dom/Attr.cpp
    dom/BeforeTextInsertedEvent.cpp
    dom/BeforeUnloadEvent.cpp
    dom/CDATASection.cpp
    dom/CharacterData.cpp
    dom/CheckedRadioButtons.cpp
    dom/ChildListMutationScope.cpp
    dom/ChildNodeList.cpp
    dom/ClassNodeList.cpp
    dom/ClientRect.cpp
    dom/ClientRectList.cpp
    dom/ClipboardEvent.cpp
    dom/CollectionIndexCache.cpp
    dom/Comment.cpp
    dom/CompositionEvent.cpp
    dom/ContainerNode.cpp
    dom/ContainerNodeAlgorithms.cpp
    dom/ContextDestructionObserver.cpp
    dom/CustomEvent.cpp
    dom/DOMCoreException.cpp
    dom/DOMError.cpp
    dom/DOMImplementation.cpp
    dom/DOMNamedFlowCollection.cpp
    dom/DOMStringList.cpp
    dom/DataTransfer.cpp
    dom/DataTransferItem.cpp
    dom/DatasetDOMStringMap.cpp
    dom/DecodedDataDocumentParser.cpp
    dom/DeviceMotionController.cpp
    dom/DeviceMotionData.cpp
    dom/DeviceMotionEvent.cpp
    dom/DeviceOrientationController.cpp
    dom/DeviceOrientationData.cpp
    dom/DeviceOrientationEvent.cpp
    dom/Document.cpp
    dom/DocumentEventQueue.cpp
    dom/DocumentFragment.cpp
    dom/DocumentMarker.cpp
    dom/DocumentMarkerController.cpp
    dom/DocumentOrderedMap.cpp
    dom/DocumentParser.cpp
    dom/DocumentSharedObjectPool.cpp
    dom/DocumentStyleSheetCollection.cpp
    dom/DocumentType.cpp
    dom/Element.cpp
    dom/ElementData.cpp
    dom/ElementRareData.cpp
    dom/EntityReference.cpp
    dom/ErrorEvent.cpp
    dom/Event.cpp
    dom/EventContext.cpp
    dom/EventDispatcher.cpp
    dom/EventException.cpp
    dom/EventListenerMap.cpp
    dom/EventNames.cpp
    dom/EventTarget.cpp
    dom/ExceptionBase.cpp
    dom/ExceptionCodePlaceholder.cpp
    dom/FocusEvent.cpp
    dom/GenericEventQueue.cpp
    dom/IconURL.cpp
    dom/IdTargetObserver.cpp
    dom/IdTargetObserverRegistry.cpp
    dom/InlineStyleSheetOwner.cpp
    dom/KeyboardEvent.cpp
    dom/LiveNodeList.cpp
    dom/MessageChannel.cpp
    dom/MessageEvent.cpp
    dom/MessagePort.cpp
    dom/MessagePortChannel.cpp
    dom/MouseEvent.cpp
    dom/MouseRelatedEvent.cpp
    dom/MutationEvent.cpp
    dom/MutationObserver.cpp
    dom/MutationObserverInterestGroup.cpp
    dom/MutationObserverRegistration.cpp
    dom/MutationRecord.cpp
    dom/NameNodeList.cpp
    dom/NamedFlowCollection.cpp
    dom/NamedNodeMap.cpp
    dom/Node.cpp
    dom/NodeFilter.cpp
    dom/NodeFilterCondition.cpp
    dom/NodeIterator.cpp
    dom/NodeRareData.cpp
    dom/NodeRenderingTraversal.cpp
    dom/NodeTraversal.cpp
    dom/Notation.cpp
    dom/OverflowEvent.cpp
    dom/PageTransitionEvent.cpp
    dom/PendingScript.cpp
    dom/PopStateEvent.cpp
    dom/Position.cpp
    dom/PositionIterator.cpp
    dom/ProcessingInstruction.cpp
    dom/ProgressEvent.cpp
    dom/PseudoElement.cpp
    dom/QualifiedName.cpp
    dom/Range.cpp
    dom/RangeException.cpp
    dom/RegisteredEventListener.cpp
    dom/ScopedEventQueue.cpp
    dom/ScriptElement.cpp
    dom/ScriptExecutionContext.cpp
    dom/ScriptRunner.cpp
    dom/ScriptableDocumentParser.cpp
    dom/ScriptedAnimationController.cpp
    dom/SecurityContext.cpp
    dom/SelectorQuery.cpp
    dom/ShadowRoot.cpp
    dom/SpaceSplitString.cpp
    dom/StaticNodeList.cpp
    dom/StringCallback.cpp
    dom/StyledElement.cpp
    dom/TagNodeList.cpp
    dom/Text.cpp
    dom/TextEvent.cpp
    dom/TextNodeTraversal.cpp
    dom/Touch.cpp
    dom/TouchEvent.cpp
    dom/TouchList.cpp
    dom/TransformSourceLibxslt.cpp
    dom/TransitionEvent.cpp
    dom/Traversal.cpp
    dom/TreeScope.cpp
    dom/TreeScopeAdopter.cpp
    dom/TreeWalker.cpp
    dom/UIEvent.cpp
    dom/UIEventWithKeyState.cpp
    dom/UserActionElementSet.cpp
    dom/UserGestureIndicator.cpp
    dom/UserTypingGestureIndicator.cpp
    dom/ViewportArguments.cpp
    dom/VisitedLinkState.cpp
    dom/WebKitAnimationEvent.cpp
    dom/WebKitNamedFlow.cpp
    dom/WebKitTransitionEvent.cpp
    dom/WheelEvent.cpp

    dom/default/PlatformMessagePortChannel.cpp

    editing/AlternativeTextController.cpp
    editing/AppendNodeCommand.cpp
    editing/ApplyBlockElementCommand.cpp
    editing/ApplyStyleCommand.cpp
    editing/BreakBlockquoteCommand.cpp
    editing/CompositeEditCommand.cpp
    editing/CreateLinkCommand.cpp
    editing/DeleteButton.cpp
    editing/DeleteButtonController.cpp
    editing/DeleteFromTextNodeCommand.cpp
    editing/DeleteSelectionCommand.cpp
    editing/DictationAlternative.cpp
    editing/DictationCommand.cpp
    editing/EditCommand.cpp
    editing/EditingStyle.cpp
    editing/Editor.cpp
    editing/EditorCommand.cpp
    editing/FormatBlockCommand.cpp
    editing/FrameSelection.cpp
    editing/HTMLInterchange.cpp
    editing/IndentOutdentCommand.cpp
    editing/InsertIntoTextNodeCommand.cpp
    editing/InsertLineBreakCommand.cpp
    editing/InsertListCommand.cpp
    editing/InsertNodeBeforeCommand.cpp
    editing/InsertParagraphSeparatorCommand.cpp
    editing/InsertTextCommand.cpp
    editing/MarkupAccumulator.cpp
    editing/MergeIdenticalElementsCommand.cpp
    editing/ModifySelectionListLevel.cpp
    editing/MoveSelectionCommand.cpp
    editing/RemoveCSSPropertyCommand.cpp
    editing/RemoveFormatCommand.cpp
    editing/RemoveNodeCommand.cpp
    editing/RemoveNodePreservingChildrenCommand.cpp
    editing/RenderedPosition.cpp
    editing/ReplaceNodeWithSpanCommand.cpp
    editing/ReplaceSelectionCommand.cpp
    editing/SetNodeAttributeCommand.cpp
    editing/SetSelectionCommand.cpp
    editing/SimplifyMarkupCommand.cpp
    editing/SmartReplace.cpp
    editing/SpellChecker.cpp
    editing/SpellingCorrectionCommand.cpp
    editing/SplitElementCommand.cpp
    editing/SplitTextNodeCommand.cpp
    editing/SplitTextNodeContainingElementCommand.cpp
    editing/TextCheckingHelper.cpp
    editing/TextInsertionBaseCommand.cpp
    editing/TextIterator.cpp
    editing/TypingCommand.cpp
    editing/UnlinkCommand.cpp
    editing/VisiblePosition.cpp
    editing/VisibleSelection.cpp
    editing/VisibleUnits.cpp
    editing/WrapContentsInDummySpanCommand.cpp
    editing/htmlediting.cpp
    editing/markup.cpp

    fileapi/AsyncFileStream.cpp
    fileapi/Blob.cpp
    fileapi/BlobURL.cpp
    fileapi/File.cpp
    fileapi/FileException.cpp
    fileapi/FileList.cpp
    fileapi/FileReader.cpp
    fileapi/FileReaderLoader.cpp
    fileapi/FileReaderSync.cpp
    fileapi/FileThread.cpp
    fileapi/ThreadableBlobRegistry.cpp
    fileapi/WebKitBlobBuilder.cpp

    history/BackForwardController.cpp
    history/BackForwardList.cpp
    history/CachedFrame.cpp
    history/CachedPage.cpp
    history/HistoryItem.cpp
    history/PageCache.cpp

    html/BaseButtonInputType.cpp
    html/BaseCheckableInputType.cpp
    html/BaseChooserOnlyDateAndTimeInputType.cpp
    html/BaseClickableWithKeyInputType.cpp
    html/BaseDateAndTimeInputType.cpp
    html/BaseTextInputType.cpp
    html/ButtonInputType.cpp
    html/CheckboxInputType.cpp
    html/ClassList.cpp
    html/ColorInputType.cpp
    html/DOMFormData.cpp
    html/DOMSettableTokenList.cpp
    html/DOMTokenList.cpp
    html/DOMURL.cpp
    html/DateInputType.cpp
    html/DateTimeInputType.cpp
    html/DateTimeLocalInputType.cpp
    html/EmailInputType.cpp
    html/FTPDirectoryDocument.cpp
    html/FileInputType.cpp
    html/FormAssociatedElement.cpp
    html/FormController.cpp
    html/FormDataList.cpp
    html/HTMLAllCollection.cpp
    html/HTMLAnchorElement.cpp
    html/HTMLAppletElement.cpp
    html/HTMLAreaElement.cpp
    html/HTMLAudioElement.cpp
    html/HTMLBRElement.cpp
    html/HTMLBaseElement.cpp
    html/HTMLBaseFontElement.cpp
    html/HTMLBodyElement.cpp
    html/HTMLButtonElement.cpp
    html/HTMLCanvasElement.cpp
    html/HTMLCollection.cpp
    html/HTMLDListElement.cpp
    html/HTMLDataListElement.cpp
    html/HTMLDetailsElement.cpp
    html/HTMLDirectoryElement.cpp
    html/HTMLDivElement.cpp
    html/HTMLDocument.cpp
    html/HTMLElement.cpp
    html/HTMLEmbedElement.cpp
    html/HTMLFieldSetElement.cpp
    html/HTMLFontElement.cpp
    html/HTMLFormControlElement.cpp
    html/HTMLFormControlElementWithState.cpp
    html/HTMLFormControlsCollection.cpp
    html/HTMLFormElement.cpp
    html/HTMLFrameElement.cpp
    html/HTMLFrameElementBase.cpp
    html/HTMLFrameOwnerElement.cpp
    html/HTMLFrameSetElement.cpp
    html/HTMLHRElement.cpp
    html/HTMLHeadElement.cpp
    html/HTMLHeadingElement.cpp
    html/HTMLHtmlElement.cpp
    html/HTMLIFrameElement.cpp
    html/HTMLImageElement.cpp
    html/HTMLImageLoader.cpp
    html/HTMLInputElement.cpp
    html/HTMLKeygenElement.cpp
    html/HTMLLIElement.cpp
    html/HTMLLabelElement.cpp
    html/HTMLLegendElement.cpp
    html/HTMLLinkElement.cpp
    html/HTMLMapElement.cpp
    html/HTMLMarqueeElement.cpp
    html/HTMLMediaElement.cpp
    html/HTMLMediaSession.cpp
    html/HTMLMenuElement.cpp
    html/HTMLMetaElement.cpp
    html/HTMLMeterElement.cpp
    html/HTMLModElement.cpp
    html/HTMLNameCollection.cpp
    html/HTMLOListElement.cpp
    html/HTMLObjectElement.cpp
    html/HTMLOptGroupElement.cpp
    html/HTMLOptionElement.cpp
    html/HTMLOptionsCollection.cpp
    html/HTMLOutputElement.cpp
    html/HTMLParagraphElement.cpp
    html/HTMLParamElement.cpp
    html/HTMLPlugInElement.cpp
    html/HTMLPlugInImageElement.cpp
    html/HTMLPreElement.cpp
    html/HTMLProgressElement.cpp
    html/HTMLQuoteElement.cpp
    html/HTMLScriptElement.cpp
    html/HTMLSelectElement.cpp
    html/HTMLSourceElement.cpp
    html/HTMLSpanElement.cpp
    html/HTMLStyleElement.cpp
    html/HTMLSummaryElement.cpp
    html/HTMLTableCaptionElement.cpp
    html/HTMLTableCellElement.cpp
    html/HTMLTableColElement.cpp
    html/HTMLTableElement.cpp
    html/HTMLTablePartElement.cpp
    html/HTMLTableRowElement.cpp
    html/HTMLTableRowsCollection.cpp
    html/HTMLTableSectionElement.cpp
    html/HTMLTemplateElement.cpp
    html/HTMLTextAreaElement.cpp
    html/HTMLTextFormControlElement.cpp
    html/HTMLTitleElement.cpp
    html/HTMLTrackElement.cpp
    html/HTMLUListElement.cpp
    html/HTMLVideoElement.cpp
    html/HiddenInputType.cpp
    html/ImageData.cpp
    html/ImageDocument.cpp
    html/ImageInputType.cpp
    html/InputType.cpp
    html/InputTypeNames.cpp
    html/LabelableElement.cpp
    html/LabelsNodeList.cpp
    html/LinkRelAttribute.cpp
    html/MediaController.cpp
    html/MediaDocument.cpp
    html/MediaFragmentURIParser.cpp
    html/MonthInputType.cpp
    html/NumberInputType.cpp
    html/PasswordInputType.cpp
    html/PluginDocument.cpp
    html/PublicURLManager.cpp
    html/RadioInputType.cpp
    html/RadioNodeList.cpp
    html/RangeInputType.cpp
    html/ResetInputType.cpp
    html/SearchInputType.cpp
    html/StepRange.cpp
    html/SubmitInputType.cpp
    html/TelephoneInputType.cpp
    html/TextDocument.cpp
    html/TextFieldInputType.cpp
    html/TextInputType.cpp
    html/TimeInputType.cpp
    html/TimeRanges.cpp
    html/TypeAhead.cpp
    html/URLInputType.cpp
    html/ValidationMessage.cpp
    html/WeekInputType.cpp

    html/canvas/ANGLEInstancedArrays.cpp
    html/canvas/CanvasContextAttributes.cpp
    html/canvas/CanvasGradient.cpp
    html/canvas/CanvasPathMethods.cpp
    html/canvas/CanvasPattern.cpp
    html/canvas/CanvasProxy.cpp
    html/canvas/CanvasRenderingContext.cpp
    html/canvas/CanvasRenderingContext2D.cpp
    html/canvas/CanvasStyle.cpp
    html/canvas/EXTShaderTextureLOD.cpp
    html/canvas/EXTTextureFilterAnisotropic.cpp
    html/canvas/OESElementIndexUint.cpp
    html/canvas/OESStandardDerivatives.cpp
    html/canvas/OESTextureFloat.cpp
    html/canvas/OESTextureFloatLinear.cpp
    html/canvas/OESTextureHalfFloat.cpp
    html/canvas/OESTextureHalfFloatLinear.cpp
    html/canvas/OESVertexArrayObject.cpp
    html/canvas/WebGLBuffer.cpp
    html/canvas/WebGLCompressedTextureATC.cpp
    html/canvas/WebGLCompressedTexturePVRTC.cpp
    html/canvas/WebGLCompressedTextureS3TC.cpp
    html/canvas/WebGLContextAttributes.cpp
    html/canvas/WebGLContextEvent.cpp
    html/canvas/WebGLContextGroup.cpp
    html/canvas/WebGLContextObject.cpp
    html/canvas/WebGLDebugRendererInfo.cpp
    html/canvas/WebGLDebugShaders.cpp
    html/canvas/WebGLDepthTexture.cpp
    html/canvas/WebGLDrawBuffers.cpp
    html/canvas/WebGLExtension.cpp
    html/canvas/WebGLFramebuffer.cpp
    html/canvas/WebGLGetInfo.cpp
    html/canvas/WebGLLoseContext.cpp
    html/canvas/WebGLObject.cpp
    html/canvas/WebGLProgram.cpp
    html/canvas/WebGLRenderbuffer.cpp
    html/canvas/WebGLRenderingContext.cpp
    html/canvas/WebGLShader.cpp
    html/canvas/WebGLShaderPrecisionFormat.cpp
    html/canvas/WebGLSharedObject.cpp
    html/canvas/WebGLTexture.cpp
    html/canvas/WebGLUniformLocation.cpp
    html/canvas/WebGLVertexArrayObjectOES.cpp

    html/forms/FileIconLoader.cpp

    html/parser/CSSPreloadScanner.cpp
    html/parser/HTMLConstructionSite.cpp
    html/parser/HTMLDocumentParser.cpp
    html/parser/HTMLElementStack.cpp
    html/parser/HTMLEntityParser.cpp
    html/parser/HTMLEntitySearch.cpp
    html/parser/HTMLFormattingElementList.cpp
    html/parser/HTMLMetaCharsetParser.cpp
    html/parser/HTMLParserIdioms.cpp
    html/parser/HTMLSrcsetParser.cpp
    html/parser/HTMLParserOptions.cpp
    html/parser/HTMLParserScheduler.cpp
    html/parser/HTMLPreloadScanner.cpp
    html/parser/HTMLResourcePreloader.cpp
    html/parser/HTMLScriptRunner.cpp
    html/parser/HTMLSourceTracker.cpp
    html/parser/HTMLSrcsetParser.cpp
    html/parser/HTMLTokenizer.cpp
    html/parser/HTMLTreeBuilder.cpp
    html/parser/TextDocumentParser.cpp
    html/parser/XSSAuditor.cpp
    html/parser/XSSAuditorDelegate.cpp

    html/shadow/ContentDistributor.cpp
    html/shadow/DetailsMarkerControl.cpp
    html/shadow/InsertionPoint.cpp
    html/shadow/MediaControlElementTypes.cpp
    html/shadow/MediaControlElements.cpp
    html/shadow/MediaControls.cpp
    html/shadow/MeterShadowElement.cpp
    html/shadow/ProgressShadowElement.cpp
    html/shadow/SliderThumbElement.cpp
    html/shadow/SpinButtonElement.cpp
    html/shadow/TextControlInnerElements.cpp

    inspector/CommandLineAPIHost.cpp
    inspector/CommandLineAPIModule.cpp
    inspector/DOMEditor.cpp
    inspector/DOMPatchSupport.cpp
    inspector/InspectorApplicationCacheAgent.cpp
    inspector/InspectorCSSAgent.cpp
    inspector/InspectorClient.cpp
    inspector/InspectorController.cpp
    inspector/InspectorDOMAgent.cpp
    inspector/InspectorDOMDebuggerAgent.cpp
    inspector/InspectorDOMStorageAgent.cpp
    inspector/InspectorDatabaseAgent.cpp
    inspector/InspectorDatabaseResource.cpp
    inspector/InspectorFrontendClientLocal.cpp
    inspector/InspectorFrontendHost.cpp
    inspector/InspectorHistory.cpp
    inspector/InspectorIndexedDBAgent.cpp
    inspector/InspectorInstrumentation.cpp
    inspector/InspectorInstrumentationCookie.cpp
    inspector/InspectorLayerTreeAgent.cpp
    inspector/InspectorNodeFinder.cpp
    inspector/InspectorOverlay.cpp
    inspector/InspectorPageAgent.cpp
    inspector/InspectorResourceAgent.cpp
    inspector/InspectorStyleSheet.cpp
    inspector/InspectorStyleTextEditor.cpp
    inspector/InspectorTimelineAgent.cpp
    inspector/InspectorWorkerAgent.cpp
    inspector/InstrumentingAgents.cpp
    inspector/NetworkResourcesData.cpp
    inspector/PageConsoleAgent.cpp
    inspector/PageDebuggerAgent.cpp
    inspector/PageRuntimeAgent.cpp
    inspector/PageScriptDebugServer.cpp
    inspector/TimelineRecordFactory.cpp
    inspector/WebConsoleAgent.cpp
    inspector/WebDebuggerAgent.cpp
    inspector/WebInjectedScriptHost.cpp
    inspector/WebInjectedScriptManager.cpp
    inspector/WorkerConsoleAgent.cpp
    inspector/WorkerDebuggerAgent.cpp
    inspector/WorkerInspectorController.cpp
    inspector/WorkerRuntimeAgent.cpp

    loader/CookieJar.cpp
    loader/CrossOriginAccessControl.cpp
    loader/CrossOriginPreflightResultCache.cpp
    loader/DocumentLoadTiming.cpp
    loader/DocumentLoader.cpp
    loader/DocumentThreadableLoader.cpp
    loader/DocumentWriter.cpp
    loader/EmptyClients.cpp
    loader/FTPDirectoryParser.cpp
    loader/FormState.cpp
    loader/FormSubmission.cpp
    loader/FrameLoadRequest.cpp
    loader/FrameLoader.cpp
    loader/FrameLoaderStateMachine.cpp
    loader/HistoryController.cpp
    loader/ImageLoader.cpp
    loader/LinkLoader.cpp
    loader/LoaderStrategy.cpp
    loader/MixedContentChecker.cpp
    loader/NavigationAction.cpp
    loader/NavigationScheduler.cpp
    loader/NetscapePlugInStreamLoader.cpp
    loader/PingLoader.cpp
    loader/PolicyCallback.cpp
    loader/PolicyChecker.cpp
    loader/ProgressTracker.cpp
    loader/ResourceBuffer.cpp
    loader/ResourceLoadNotifier.cpp
    loader/ResourceLoadScheduler.cpp
    loader/ResourceLoader.cpp
    loader/SinkDocument.cpp
    loader/SubframeLoader.cpp
    loader/SubresourceLoader.cpp
    loader/TextResourceDecoder.cpp
    loader/TextTrackLoader.cpp
    loader/ThreadableLoader.cpp
    loader/WorkerThreadableLoader.cpp

    loader/appcache/ApplicationCache.cpp
    loader/appcache/ApplicationCacheGroup.cpp
    loader/appcache/ApplicationCacheHost.cpp
    loader/appcache/ApplicationCacheResource.cpp
    loader/appcache/ApplicationCacheStorage.cpp
    loader/appcache/DOMApplicationCache.cpp
    loader/appcache/ManifestParser.cpp

    loader/archive/Archive.cpp
    loader/archive/ArchiveFactory.cpp
    loader/archive/ArchiveResource.cpp
    loader/archive/ArchiveResourceCollection.cpp

    loader/archive/mhtml/MHTMLArchive.cpp
    loader/archive/mhtml/MHTMLParser.cpp

    loader/cache/CachedCSSStyleSheet.cpp
    loader/cache/CachedFont.cpp
    loader/cache/CachedImage.cpp
    loader/cache/CachedRawResource.cpp
    loader/cache/CachedResource.cpp
    loader/cache/CachedResourceHandle.cpp
    loader/cache/CachedResourceLoader.cpp
    loader/cache/CachedResourceRequest.cpp
    loader/cache/CachedResourceRequestInitiators.cpp
    loader/cache/CachedSVGDocument.cpp
    loader/cache/CachedSVGDocumentReference.cpp
    loader/cache/CachedScript.cpp
    loader/cache/CachedXSLStyleSheet.cpp
    loader/cache/MemoryCache.cpp

    loader/icon/IconController.cpp
    loader/icon/IconDatabase.cpp
    loader/icon/IconDatabaseBase.cpp
    loader/icon/IconLoader.cpp
    loader/icon/IconRecord.cpp
    loader/icon/PageURLRecord.cpp

    mathml/MathMLElement.cpp
    mathml/MathMLInlineContainerElement.cpp
    mathml/MathMLMathElement.cpp
    mathml/MathMLMencloseElement.cpp
    mathml/MathMLSelectElement.cpp
    mathml/MathMLTextElement.cpp

    page/AutoscrollController.cpp
    page/BarProp.cpp
    page/CaptionUserPreferences.cpp
    page/Chrome.cpp
    page/ContentSecurityPolicy.cpp
    page/ContextMenuContext.cpp
    page/ContextMenuController.cpp
    page/Crypto.cpp
    page/DOMSecurityPolicy.cpp
    page/DOMSelection.cpp
    page/DOMTimer.cpp
    page/DOMWindow.cpp
    page/DOMWindowExtension.cpp
    page/DOMWindowProperty.cpp
    page/DefaultVisitedLinkStore.cpp
    page/DeviceController.cpp
    page/DiagnosticLoggingKeys.cpp
    page/DragController.cpp
    page/EventHandler.cpp
    page/EventSource.cpp
    page/FocusController.cpp
    page/Frame.cpp
    page/FrameDestructionObserver.cpp
    page/FrameSnapshotting.cpp
    page/FrameTree.cpp
    page/FrameView.cpp
    page/GestureTapHighlighter.cpp
    page/GroupSettings.cpp
    page/History.cpp
    page/Location.cpp
    page/MainFrame.cpp
    page/MouseEventWithHitTestResults.cpp
    page/Navigator.cpp
    page/NavigatorBase.cpp
    page/OriginAccessEntry.cpp
    page/Page.cpp
    page/PageActivityAssertionToken.cpp
    page/PageConsoleClient.cpp
    page/PageGroup.cpp
    page/PageGroupLoadDeferrer.cpp
    page/PageSerializer.cpp
    page/PageThrottler.cpp
    page/PageVisibilityState.cpp
    page/Performance.cpp
    page/PerformanceEntry.cpp
    page/PerformanceEntryList.cpp
    page/PerformanceNavigation.cpp
    page/PerformanceResourceTiming.cpp
    page/PerformanceTiming.cpp
    page/PerformanceUserTiming.cpp
    page/PrintContext.cpp
    page/Screen.cpp
    page/SecurityOrigin.cpp
    page/SecurityPolicy.cpp
    page/Settings.cpp
    page/SpatialNavigation.cpp
    page/SuspendableTimer.cpp
    page/UserContentController.cpp
    page/UserContentURLPattern.cpp
    page/VisitedLinkStore.cpp
    page/WheelEventDeltaTracker.cpp
    page/WindowFeatures.cpp
    page/WindowFocusAllowedIndicator.cpp
    page/WorkerNavigator.cpp

    page/animation/AnimationBase.cpp
    page/animation/AnimationController.cpp
    page/animation/CSSPropertyAnimation.cpp
    page/animation/CompositeAnimation.cpp
    page/animation/ImplicitAnimation.cpp
    page/animation/KeyframeAnimation.cpp

    page/scrolling/ScrollLatchingState.cpp
    page/scrolling/ScrollingConstraints.cpp
    page/scrolling/ScrollingCoordinator.cpp
    page/scrolling/ScrollingStateFixedNode.cpp
    page/scrolling/ScrollingStateNode.cpp
    page/scrolling/ScrollingStateScrollingNode.cpp
    page/scrolling/ScrollingStateFrameScrollingNode.cpp
    page/scrolling/ScrollingStateOverflowScrollingNode.cpp
    page/scrolling/ScrollingStateScrollingNode.cpp
    page/scrolling/ScrollingStateStickyNode.cpp
    page/scrolling/ScrollingStateTree.cpp

    platform/CalculationValue.cpp
    platform/Clock.cpp
    platform/ClockGeneric.cpp
    platform/ContentType.cpp
    platform/ContextMenu.cpp
    platform/ContextMenuItem.cpp
    platform/CrossThreadCopier.cpp
    platform/DatabaseStrategy.cpp
    platform/DateComponents.cpp
    platform/Decimal.cpp
    platform/DisplaySleepDisabler.cpp
    platform/DragData.cpp
    platform/DragImage.cpp
    platform/FileChooser.cpp
    platform/FileStream.cpp
    platform/FileSystem.cpp
    platform/URL.cpp
    platform/KillRingNone.cpp
    platform/Language.cpp
    platform/Length.cpp
    platform/LengthBox.cpp
    platform/LinkHash.cpp
    platform/Logging.cpp
    platform/MIMETypeRegistry.cpp
    platform/MemoryPressureHandler.cpp
    platform/NotImplemented.cpp
    platform/PlatformEvent.cpp
    platform/PlatformSpeechSynthesisUtterance.cpp
    platform/PlatformSpeechSynthesisVoice.cpp
    platform/PlatformSpeechSynthesizer.cpp
    platform/PlatformStrategies.cpp
    platform/RemoteCommandListener.cpp
    platform/SystemSleepListener.cpp
    platform/RuntimeApplicationChecks.cpp
    platform/SchemeRegistry.cpp
    platform/ScrollAnimator.cpp
    platform/ScrollView.cpp
    platform/ScrollableArea.cpp
    platform/Scrollbar.cpp
    platform/ScrollbarTheme.cpp
    platform/ScrollbarThemeComposite.cpp
    platform/SharedBuffer.cpp
    platform/SharedBufferChunkReader.cpp
    platform/ThreadGlobalData.cpp
    platform/ThreadTimers.cpp
    platform/Timer.cpp
    platform/UserActivity.cpp
    platform/UUID.cpp
    platform/Widget.cpp

    platform/animation/Animation.cpp
    platform/animation/AnimationList.cpp

    platform/audio/AudioBus.cpp
    platform/audio/AudioChannel.cpp
    platform/audio/AudioDSPKernelProcessor.cpp
    platform/audio/AudioFIFO.cpp
    platform/audio/AudioHardwareListener.cpp
    platform/audio/AudioPullFIFO.cpp
    platform/audio/AudioResampler.cpp
    platform/audio/AudioResamplerKernel.cpp
    platform/audio/AudioUtilities.cpp
    platform/audio/Biquad.cpp
    platform/audio/Cone.cpp
    platform/audio/DirectConvolver.cpp
    platform/audio/Distance.cpp
    platform/audio/DownSampler.cpp
    platform/audio/DynamicsCompressor.cpp
    platform/audio/DynamicsCompressorKernel.cpp
    platform/audio/EqualPowerPanner.cpp
    platform/audio/FFTConvolver.cpp
    platform/audio/FFTFrame.cpp
    platform/audio/HRTFDatabase.cpp
    platform/audio/HRTFDatabaseLoader.cpp
    platform/audio/HRTFElevation.cpp
    platform/audio/HRTFKernel.cpp
    platform/audio/HRTFPanner.cpp
    platform/audio/MediaSession.cpp
    platform/audio/MediaSessionManager.cpp
    platform/audio/MultiChannelResampler.cpp
    platform/audio/Panner.cpp
    platform/audio/Reverb.cpp
    platform/audio/ReverbAccumulationBuffer.cpp
    platform/audio/ReverbConvolver.cpp
    platform/audio/ReverbConvolverStage.cpp
    platform/audio/ReverbInputBuffer.cpp
    platform/audio/SincResampler.cpp
    platform/audio/UpSampler.cpp
    platform/audio/VectorMath.cpp
    platform/audio/ZeroPole.cpp

    platform/graphics/BitmapImage.cpp
    platform/graphics/Color.cpp
    platform/graphics/CrossfadeGeneratedImage.cpp
    platform/graphics/FloatPoint.cpp
    platform/graphics/FloatPoint3D.cpp
    platform/graphics/FloatPolygon.cpp
    platform/graphics/FloatQuad.cpp
    platform/graphics/FloatRect.cpp
    platform/graphics/FloatRoundedRect.cpp
    platform/graphics/FloatSize.cpp
    platform/graphics/Font.cpp
    platform/graphics/FontCache.cpp
    platform/graphics/FontData.cpp
    platform/graphics/FontDescription.cpp
    platform/graphics/FontFastPath.cpp
    platform/graphics/FontFeatureSettings.cpp
    platform/graphics/FontGenericFamilies.cpp
    platform/graphics/FontGlyphs.cpp
    platform/graphics/GeneratedImage.cpp
    platform/graphics/GeometryUtilities.cpp
    platform/graphics/GlyphPageTreeNode.cpp
    platform/graphics/Gradient.cpp
    platform/graphics/GradientImage.cpp
    platform/graphics/GraphicsContext.cpp
    platform/graphics/GraphicsLayer.cpp
    platform/graphics/GraphicsLayerAnimation.cpp
    platform/graphics/GraphicsLayerTransform.cpp
    platform/graphics/GraphicsLayerUpdater.cpp
    platform/graphics/GraphicsTypes.cpp
    platform/graphics/Image.cpp
    platform/graphics/ImageBuffer.cpp
    platform/graphics/ImageOrientation.cpp
    platform/graphics/IntPoint.cpp
    platform/graphics/IntRect.cpp
    platform/graphics/IntSize.cpp
    platform/graphics/ISOVTTCue.cpp
    platform/graphics/LayoutBoxExtent.cpp
    platform/graphics/LayoutRect.cpp
    platform/graphics/MediaPlayer.cpp
    platform/graphics/Path.cpp
    platform/graphics/PathTraversalState.cpp
    platform/graphics/Pattern.cpp
    platform/graphics/PlatformTimeRanges.cpp
    platform/graphics/Region.cpp
    platform/graphics/RoundedRect.cpp
    platform/graphics/SVGGlyph.cpp
    platform/graphics/SegmentedFontData.cpp
    platform/graphics/ShadowBlur.cpp
    platform/graphics/SimpleFontData.cpp
    platform/graphics/StringTruncator.cpp
    platform/graphics/SurrogatePairAwareTextIterator.cpp
    platform/graphics/TextRun.cpp
    platform/graphics/TiledBackingStore.cpp
    platform/graphics/WidthIterator.cpp

    platform/graphics/cpu/arm/filters/FELightingNEON.cpp

    platform/graphics/filters/DistantLightSource.cpp
    platform/graphics/filters/FEBlend.cpp
    platform/graphics/filters/FEColorMatrix.cpp
    platform/graphics/filters/FEComponentTransfer.cpp
    platform/graphics/filters/FEComposite.cpp
    platform/graphics/filters/FEConvolveMatrix.cpp
    platform/graphics/filters/FEDiffuseLighting.cpp
    platform/graphics/filters/FEDisplacementMap.cpp
    platform/graphics/filters/FEDropShadow.cpp
    platform/graphics/filters/FEFlood.cpp
    platform/graphics/filters/FEGaussianBlur.cpp
    platform/graphics/filters/FELighting.cpp
    platform/graphics/filters/FEMerge.cpp
    platform/graphics/filters/FEMorphology.cpp
    platform/graphics/filters/FEOffset.cpp
    platform/graphics/filters/FESpecularLighting.cpp
    platform/graphics/filters/FETile.cpp
    platform/graphics/filters/FETurbulence.cpp
    platform/graphics/filters/FilterEffect.cpp
    platform/graphics/filters/FilterOperation.cpp
    platform/graphics/filters/FilterOperations.cpp
    platform/graphics/filters/PointLightSource.cpp
    platform/graphics/filters/SourceAlpha.cpp
    platform/graphics/filters/SourceGraphic.cpp
    platform/graphics/filters/SpotLightSource.cpp

    platform/graphics/opentype/OpenTypeMathData.cpp

    platform/graphics/texmap/TextureMapper.cpp
    platform/graphics/texmap/TextureMapperBackingStore.cpp
    platform/graphics/texmap/TextureMapperFPSCounter.cpp
    platform/graphics/texmap/TextureMapperImageBuffer.cpp
    platform/graphics/texmap/TextureMapperLayer.cpp
    platform/graphics/texmap/TextureMapperSurfaceBackingStore.cpp
    platform/graphics/texmap/TextureMapperTile.cpp
    platform/graphics/texmap/TextureMapperTiledBackingStore.cpp

    platform/graphics/transforms/AffineTransform.cpp
    platform/graphics/transforms/Matrix3DTransformOperation.cpp
    platform/graphics/transforms/MatrixTransformOperation.cpp
    platform/graphics/transforms/PerspectiveTransformOperation.cpp
    platform/graphics/transforms/RotateTransformOperation.cpp
    platform/graphics/transforms/ScaleTransformOperation.cpp
    platform/graphics/transforms/SkewTransformOperation.cpp
    platform/graphics/transforms/TransformOperations.cpp
    platform/graphics/transforms/TransformState.cpp
    platform/graphics/transforms/TransformationMatrix.cpp
    platform/graphics/transforms/TranslateTransformOperation.cpp

    platform/mediastream/MediaStreamCenter.cpp
    platform/mediastream/MediaStreamPrivate.cpp
    platform/mediastream/MediaStreamTrackPrivate.cpp
    platform/mediastream/MediaStreamSource.cpp
    platform/mediastream/MediaStreamSourceStates.cpp
    platform/mediastream/RTCIceCandidateDescriptor.cpp
    platform/mediastream/RTCPeerConnectionHandler.cpp
    platform/mediastream/RTCSessionDescriptionDescriptor.cpp

    platform/mock/DeviceMotionClientMock.cpp
    platform/mock/DeviceOrientationClientMock.cpp
    platform/mock/GeolocationClientMock.cpp
    platform/mock/MediaConstraintsMock.cpp
    platform/mock/MockMediaStreamCenter.cpp
    platform/mock/RTCDataChannelHandlerMock.cpp
    platform/mock/RTCDTMFSenderHandlerMock.cpp
    platform/mock/RTCNotifiersMock.cpp
    platform/mock/RTCPeerConnectionHandlerMock.cpp
    platform/mock/ScrollbarThemeMock.cpp

    platform/network/AuthenticationChallengeBase.cpp
    platform/network/BlobData.cpp
    platform/network/BlobDataFileReference.cpp
    platform/network/BlobRegistry.cpp
    platform/network/BlobRegistryImpl.cpp
    platform/network/BlobResourceHandle.cpp
    platform/network/CredentialBase.cpp
    platform/network/CredentialStorage.cpp
    platform/network/DNSResolveQueue.cpp
    platform/network/DataURL.cpp
    platform/network/FormData.cpp
    platform/network/FormDataBuilder.cpp
    platform/network/HTTPHeaderMap.cpp
    platform/network/HTTPParsers.cpp
    platform/network/MIMEHeader.cpp
    platform/network/NetworkStateNotifier.cpp
    platform/network/ParsedContentType.cpp
    platform/network/ProtectionSpaceBase.cpp
    platform/network/ProxyServer.cpp
    platform/network/ResourceErrorBase.cpp
    platform/network/ResourceHandle.cpp
    platform/network/ResourceHandleClient.cpp
    platform/network/ResourceRequestBase.cpp
    platform/network/ResourceResponseBase.cpp
    platform/network/SocketStreamHandleBase.cpp
    platform/network/SynchronousLoaderClient.cpp

    platform/sql/SQLValue.cpp
    platform/sql/SQLiteAuthorizer.cpp
    platform/sql/SQLiteDatabase.cpp
    platform/sql/SQLiteDatabaseTracker.cpp
    platform/sql/SQLiteFileSystem.cpp
    platform/sql/SQLiteStatement.cpp
    platform/sql/SQLiteTransaction.cpp

    platform/text/BidiContext.cpp
    platform/text/DateTimeFormat.cpp
    platform/text/Hyphenation.cpp
    platform/text/LineEnding.cpp
    platform/text/LocaleToScriptMappingDefault.cpp
    platform/text/PlatformLocale.cpp
    platform/text/QuotedPrintable.cpp
    platform/text/SegmentedString.cpp
    platform/text/TextBoundaries.cpp
    platform/text/TextBreakIterator.cpp
    platform/text/TextCodec.cpp
    platform/text/TextCodecLatin1.cpp
    platform/text/TextCodecUTF16.cpp
    platform/text/TextCodecUTF8.cpp
    platform/text/TextCodecUserDefined.cpp
    platform/text/TextEncoding.cpp
    platform/text/TextEncodingRegistry.cpp
    platform/text/TextStream.cpp

    plugins/DOMMimeType.cpp
    plugins/DOMMimeTypeArray.cpp
    plugins/DOMPlugin.cpp
    plugins/DOMPluginArray.cpp
    plugins/PluginData.cpp
    plugins/PluginDatabase.cpp
    plugins/PluginDebug.cpp
    plugins/PluginMainThreadScheduler.cpp
    plugins/PluginStream.cpp

    rendering/AutoTableLayout.cpp
    rendering/BidiRun.cpp
    rendering/BorderEdge.cpp
    rendering/CounterNode.cpp
    rendering/EllipsisBox.cpp
    rendering/FilterEffectRenderer.cpp
    rendering/FixedTableLayout.cpp
    rendering/FloatingObjects.cpp
    rendering/FlowThreadController.cpp
    rendering/HitTestLocation.cpp
    rendering/HitTestResult.cpp
    rendering/HitTestingTransformState.cpp
    rendering/ImageQualityController.cpp
    rendering/InlineBox.cpp
    rendering/InlineElementBox.cpp
    rendering/InlineFlowBox.cpp
    rendering/InlineIterator.cpp
    rendering/InlineTextBox.cpp
    rendering/LayoutRepainter.cpp
    rendering/LayoutState.cpp
    rendering/OrderIterator.cpp
    rendering/PointerEventsHitRules.cpp
    rendering/RenderBlock.cpp
    rendering/RenderBlockFlow.cpp
    rendering/RenderBlockLineLayout.cpp
    rendering/RenderBox.cpp
    rendering/RenderBoxModelObject.cpp
    rendering/RenderButton.cpp
    rendering/RenderCombineText.cpp
    rendering/RenderCounter.cpp
    rendering/RenderDeprecatedFlexibleBox.cpp
    rendering/RenderDetailsMarker.cpp
    rendering/RenderElement.cpp
    rendering/RenderEmbeddedObject.cpp
    rendering/RenderFieldset.cpp
    rendering/RenderFileUploadControl.cpp
    rendering/RenderFlexibleBox.cpp
    rendering/RenderFlowThread.cpp
    rendering/RenderFrame.cpp
    rendering/RenderFrameBase.cpp
    rendering/RenderFrameSet.cpp
    rendering/RenderFullScreen.cpp
    rendering/RenderGeometryMap.cpp
    rendering/RenderGrid.cpp
    rendering/RenderHTMLCanvas.cpp
    rendering/RenderIFrame.cpp
    rendering/RenderImage.cpp
    rendering/RenderImageResource.cpp
    rendering/RenderImageResourceStyleImage.cpp
    rendering/RenderInline.cpp
    rendering/RenderLayer.cpp
    rendering/RenderLayerBacking.cpp
    rendering/RenderLayerCompositor.cpp
    rendering/RenderLayerFilterInfo.cpp
    rendering/RenderLayerModelObject.cpp
    rendering/RenderLineBoxList.cpp
    rendering/RenderLineBreak.cpp
    rendering/RenderListBox.cpp
    rendering/RenderListItem.cpp
    rendering/RenderListMarker.cpp
    rendering/RenderMarquee.cpp
    rendering/RenderMedia.cpp
    rendering/RenderMediaControlElements.cpp
    rendering/RenderMediaControls.cpp
    rendering/RenderMenuList.cpp
    rendering/RenderMeter.cpp
    rendering/RenderMultiColumnFlowThread.cpp
    rendering/RenderMultiColumnSet.cpp
    rendering/RenderMultiColumnSpannerPlaceholder.cpp
    rendering/RenderNamedFlowFragment.cpp
    rendering/RenderNamedFlowThread.cpp
    rendering/RenderObject.cpp
    rendering/RenderProgress.cpp
    rendering/RenderQuote.cpp
    rendering/RenderRegion.cpp
    rendering/RenderRegionSet.cpp
    rendering/RenderReplaced.cpp
    rendering/RenderReplica.cpp
    rendering/RenderRuby.cpp
    rendering/RenderRubyBase.cpp
    rendering/RenderRubyRun.cpp
    rendering/RenderRubyText.cpp
    rendering/RenderScrollbar.cpp
    rendering/RenderScrollbarPart.cpp
    rendering/RenderScrollbarTheme.cpp
    rendering/RenderSearchField.cpp
    rendering/RenderSelectionInfo.cpp
    rendering/RenderSlider.cpp
    rendering/RenderSnapshottedPlugIn.cpp
    rendering/RenderTable.cpp
    rendering/RenderTableCaption.cpp
    rendering/RenderTableCell.cpp
    rendering/RenderTableCol.cpp
    rendering/RenderTableRow.cpp
    rendering/RenderTableSection.cpp
    rendering/RenderText.cpp
    rendering/RenderTextControl.cpp
    rendering/RenderTextControlMultiLine.cpp
    rendering/RenderTextControlSingleLine.cpp
    rendering/RenderTextFragment.cpp
    rendering/RenderTextLineBoxes.cpp
    rendering/RenderTheme.cpp
    rendering/RenderTreeAsText.cpp
    rendering/RenderVideo.cpp
    rendering/RenderView.cpp
    rendering/RenderVTTCue.cpp
    rendering/RenderWidget.cpp
    rendering/RootInlineBox.cpp
    rendering/SelectionSubtreeRoot.cpp
    rendering/ScrollBehavior.cpp
    rendering/SimpleLineLayout.cpp
    rendering/SimpleLineLayoutFunctions.cpp
    rendering/TextAutosizer.cpp
    rendering/TextPaintStyle.cpp
    rendering/TextPainter.cpp
    rendering/break_lines.cpp

    rendering/line/LineBreaker.cpp
    rendering/line/LineInfo.cpp
    rendering/line/LineWidth.cpp
    rendering/line/TrailingObjects.cpp

    rendering/mathml/RenderMathMLBlock.cpp
    rendering/mathml/RenderMathMLFenced.cpp
    rendering/mathml/RenderMathMLFraction.cpp
    rendering/mathml/RenderMathMLMath.cpp
    rendering/mathml/RenderMathMLMenclose.cpp
    rendering/mathml/RenderMathMLOperator.cpp
    rendering/mathml/RenderMathMLRadicalOperator.cpp
    rendering/mathml/RenderMathMLRoot.cpp
    rendering/mathml/RenderMathMLRow.cpp
    rendering/mathml/RenderMathMLScripts.cpp
    rendering/mathml/RenderMathMLSpace.cpp
    rendering/mathml/RenderMathMLSquareRoot.cpp
    rendering/mathml/RenderMathMLToken.cpp
    rendering/mathml/RenderMathMLUnderOver.cpp

    rendering/shapes/BoxShape.cpp
    rendering/shapes/PolygonShape.cpp
    rendering/shapes/RasterShape.cpp
    rendering/shapes/RectangleShape.cpp
    rendering/shapes/Shape.cpp
    rendering/shapes/ShapeOutsideInfo.cpp

    rendering/style/BasicShapes.cpp
    rendering/style/ContentData.cpp
    rendering/style/CounterDirectives.cpp
    rendering/style/FillLayer.cpp
    rendering/style/GridResolvedPosition.cpp
    rendering/style/KeyframeList.cpp
    rendering/style/NinePieceImage.cpp
    rendering/style/QuotesData.cpp
    rendering/style/RenderStyle.cpp
    rendering/style/SVGRenderStyle.cpp
    rendering/style/SVGRenderStyleDefs.cpp
    rendering/style/ShadowData.cpp
    rendering/style/ShapeValue.cpp
    rendering/style/StyleBackgroundData.cpp
    rendering/style/StyleBoxData.cpp
    rendering/style/StyleCachedImage.cpp
    rendering/style/StyleCachedImageSet.cpp
    rendering/style/StyleDeprecatedFlexibleBoxData.cpp
    rendering/style/StyleFilterData.cpp
    rendering/style/StyleFlexibleBoxData.cpp
    rendering/style/StyleGeneratedImage.cpp
    rendering/style/StyleGridData.cpp
    rendering/style/StyleGridItemData.cpp
    rendering/style/StyleInheritedData.cpp
    rendering/style/StyleMarqueeData.cpp
    rendering/style/StyleMultiColData.cpp
    rendering/style/StyleRareInheritedData.cpp
    rendering/style/StyleRareNonInheritedData.cpp
    rendering/style/StyleScrollSnapPoints.cpp
    rendering/style/StyleSurroundData.cpp
    rendering/style/StyleTransformData.cpp
    rendering/style/StyleVisualData.cpp

    rendering/svg/RenderSVGBlock.cpp
    rendering/svg/RenderSVGContainer.cpp
    rendering/svg/RenderSVGEllipse.cpp
    rendering/svg/RenderSVGForeignObject.cpp
    rendering/svg/RenderSVGGradientStop.cpp
    rendering/svg/RenderSVGHiddenContainer.cpp
    rendering/svg/RenderSVGImage.cpp
    rendering/svg/RenderSVGInline.cpp
    rendering/svg/RenderSVGInlineText.cpp
    rendering/svg/RenderSVGModelObject.cpp
    rendering/svg/RenderSVGPath.cpp
    rendering/svg/RenderSVGRect.cpp
    rendering/svg/RenderSVGResource.cpp
    rendering/svg/RenderSVGResourceClipper.cpp
    rendering/svg/RenderSVGResourceContainer.cpp
    rendering/svg/RenderSVGResourceFilter.cpp
    rendering/svg/RenderSVGResourceFilterPrimitive.cpp
    rendering/svg/RenderSVGResourceGradient.cpp
    rendering/svg/RenderSVGResourceLinearGradient.cpp
    rendering/svg/RenderSVGResourceMarker.cpp
    rendering/svg/RenderSVGResourceMasker.cpp
    rendering/svg/RenderSVGResourcePattern.cpp
    rendering/svg/RenderSVGResourceRadialGradient.cpp
    rendering/svg/RenderSVGResourceSolidColor.cpp
    rendering/svg/RenderSVGRoot.cpp
    rendering/svg/RenderSVGShape.cpp
    rendering/svg/RenderSVGText.cpp
    rendering/svg/RenderSVGTextPath.cpp
    rendering/svg/RenderSVGTransformableContainer.cpp
    rendering/svg/RenderSVGViewportContainer.cpp
    rendering/svg/SVGInlineFlowBox.cpp
    rendering/svg/SVGInlineTextBox.cpp
    rendering/svg/SVGPathData.cpp
    rendering/svg/SVGRenderSupport.cpp
    rendering/svg/SVGRenderTreeAsText.cpp
    rendering/svg/SVGRenderingContext.cpp
    rendering/svg/SVGResources.cpp
    rendering/svg/SVGResourcesCache.cpp
    rendering/svg/SVGResourcesCycleSolver.cpp
    rendering/svg/SVGRootInlineBox.cpp
    rendering/svg/SVGTextChunk.cpp
    rendering/svg/SVGTextChunkBuilder.cpp
    rendering/svg/SVGTextLayoutAttributes.cpp
    rendering/svg/SVGTextLayoutAttributesBuilder.cpp
    rendering/svg/SVGTextLayoutEngine.cpp
    rendering/svg/SVGTextLayoutEngineBaseline.cpp
    rendering/svg/SVGTextLayoutEngineSpacing.cpp
    rendering/svg/SVGTextMetrics.cpp
    rendering/svg/SVGTextMetricsBuilder.cpp
    rendering/svg/SVGTextQuery.cpp
    rendering/svg/SVGTextRunRenderingContext.cpp

    replay/UserInputBridge.cpp

    storage/Storage.cpp
    storage/StorageAreaImpl.cpp
    storage/StorageAreaSync.cpp
    storage/StorageEvent.cpp
    storage/StorageEventDispatcher.cpp
    storage/StorageMap.cpp
    storage/StorageNamespace.cpp
    storage/StorageNamespaceImpl.cpp
    storage/StorageStrategy.cpp
    storage/StorageSyncManager.cpp
    storage/StorageThread.cpp
    storage/StorageTracker.cpp

    style/InlineTextBoxStyle.cpp
    style/StyleFontSizeFunctions.cpp
    style/StyleResolveForDocument.cpp
    style/StyleResolveTree.cpp

    svg/ColorDistance.cpp
    svg/SVGAElement.cpp
    svg/SVGAltGlyphDefElement.cpp
    svg/SVGAltGlyphElement.cpp
    svg/SVGAltGlyphItemElement.cpp
    svg/SVGAngle.cpp
    svg/SVGAnimateColorElement.cpp
    svg/SVGAnimateElement.cpp
    svg/SVGAnimateMotionElement.cpp
    svg/SVGAnimateTransformElement.cpp
    svg/SVGAnimatedAngle.cpp
    svg/SVGAnimatedBoolean.cpp
    svg/SVGAnimatedColor.cpp
    svg/SVGAnimatedEnumeration.cpp
    svg/SVGAnimatedInteger.cpp
    svg/SVGAnimatedIntegerOptionalInteger.cpp
    svg/SVGAnimatedLength.cpp
    svg/SVGAnimatedLengthList.cpp
    svg/SVGAnimatedNumber.cpp
    svg/SVGAnimatedNumberList.cpp
    svg/SVGAnimatedNumberOptionalNumber.cpp
    svg/SVGAnimatedPath.cpp
    svg/SVGAnimatedPointList.cpp
    svg/SVGAnimatedPreserveAspectRatio.cpp
    svg/SVGAnimatedRect.cpp
    svg/SVGAnimatedString.cpp
    svg/SVGAnimatedTransformList.cpp
    svg/SVGAnimatedType.cpp
    svg/SVGAnimatedTypeAnimator.cpp
    svg/SVGAnimationElement.cpp
    svg/SVGCircleElement.cpp
    svg/SVGClipPathElement.cpp
    svg/SVGColor.cpp
    svg/SVGComponentTransferFunctionElement.cpp
    svg/SVGCursorElement.cpp
    svg/SVGDefsElement.cpp
    svg/SVGDescElement.cpp
    svg/SVGDocument.cpp
    svg/SVGDocumentExtensions.cpp
    svg/SVGElement.cpp
    svg/SVGElementInstance.cpp
    svg/SVGElementInstanceList.cpp
    svg/SVGEllipseElement.cpp
    svg/SVGException.cpp
    svg/SVGExternalResourcesRequired.cpp
    svg/SVGFEBlendElement.cpp
    svg/SVGFEColorMatrixElement.cpp
    svg/SVGFEComponentTransferElement.cpp
    svg/SVGFECompositeElement.cpp
    svg/SVGFEConvolveMatrixElement.cpp
    svg/SVGFEDiffuseLightingElement.cpp
    svg/SVGFEDisplacementMapElement.cpp
    svg/SVGFEDistantLightElement.cpp
    svg/SVGFEDropShadowElement.cpp
    svg/SVGFEFloodElement.cpp
    svg/SVGFEFuncAElement.cpp
    svg/SVGFEFuncBElement.cpp
    svg/SVGFEFuncGElement.cpp
    svg/SVGFEFuncRElement.cpp
    svg/SVGFEGaussianBlurElement.cpp
    svg/SVGFEImageElement.cpp
    svg/SVGFELightElement.cpp
    svg/SVGFEMergeElement.cpp
    svg/SVGFEMergeNodeElement.cpp
    svg/SVGFEMorphologyElement.cpp
    svg/SVGFEOffsetElement.cpp
    svg/SVGFEPointLightElement.cpp
    svg/SVGFESpecularLightingElement.cpp
    svg/SVGFESpotLightElement.cpp
    svg/SVGFETileElement.cpp
    svg/SVGFETurbulenceElement.cpp
    svg/SVGFilterElement.cpp
    svg/SVGFilterPrimitiveStandardAttributes.cpp
    svg/SVGFitToViewBox.cpp
    svg/SVGFontData.cpp
    svg/SVGFontElement.cpp
    svg/SVGFontFaceElement.cpp
    svg/SVGFontFaceFormatElement.cpp
    svg/SVGFontFaceNameElement.cpp
    svg/SVGFontFaceSrcElement.cpp
    svg/SVGFontFaceUriElement.cpp
    svg/SVGForeignObjectElement.cpp
    svg/SVGGElement.cpp
    svg/SVGGlyphElement.cpp
    svg/SVGGlyphRefElement.cpp
    svg/SVGGradientElement.cpp
    svg/SVGGraphicsElement.cpp
    svg/SVGHKernElement.cpp
    svg/SVGImageElement.cpp
    svg/SVGImageLoader.cpp
    svg/SVGLangSpace.cpp
    svg/SVGLength.cpp
    svg/SVGLengthContext.cpp
    svg/SVGLengthList.cpp
    svg/SVGLineElement.cpp
    svg/SVGLinearGradientElement.cpp
    svg/SVGLocatable.cpp
    svg/SVGMPathElement.cpp
    svg/SVGMarkerElement.cpp
    svg/SVGMaskElement.cpp
    svg/SVGMetadataElement.cpp
    svg/SVGMissingGlyphElement.cpp
    svg/SVGNumberList.cpp
    svg/SVGPaint.cpp
    svg/SVGParserUtilities.cpp
    svg/SVGPathBlender.cpp
    svg/SVGPathBuilder.cpp
    svg/SVGPathByteStreamBuilder.cpp
    svg/SVGPathByteStreamSource.cpp
    svg/SVGPathElement.cpp
    svg/SVGPathParser.cpp
    svg/SVGPathSegList.cpp
    svg/SVGPathSegListBuilder.cpp
    svg/SVGPathSegListSource.cpp
    svg/SVGPathStringBuilder.cpp
    svg/SVGPathStringSource.cpp
    svg/SVGPathTraversalStateBuilder.cpp
    svg/SVGPathUtilities.cpp
    svg/SVGPatternElement.cpp
    svg/SVGPointList.cpp
    svg/SVGPolyElement.cpp
    svg/SVGPolygonElement.cpp
    svg/SVGPolylineElement.cpp
    svg/SVGPreserveAspectRatio.cpp
    svg/SVGRadialGradientElement.cpp
    svg/SVGRectElement.cpp
    svg/SVGSVGElement.cpp
    svg/SVGScriptElement.cpp
    svg/SVGSetElement.cpp
    svg/SVGStopElement.cpp
    svg/SVGStringList.cpp
    svg/SVGStyleElement.cpp
    svg/SVGSwitchElement.cpp
    svg/SVGSymbolElement.cpp
    svg/SVGTRefElement.cpp
    svg/SVGTSpanElement.cpp
    svg/SVGTests.cpp
    svg/SVGTextContentElement.cpp
    svg/SVGTextElement.cpp
    svg/SVGTextPathElement.cpp
    svg/SVGTextPositioningElement.cpp
    svg/SVGTitleElement.cpp
    svg/SVGTransform.cpp
    svg/SVGTransformDistance.cpp
    svg/SVGTransformList.cpp
    svg/SVGTransformable.cpp
    svg/SVGURIReference.cpp
    svg/SVGUseElement.cpp
    svg/SVGVKernElement.cpp
    svg/SVGViewElement.cpp
    svg/SVGViewSpec.cpp
    svg/SVGZoomAndPan.cpp
    svg/SVGZoomEvent.cpp

    svg/animation/SMILTime.cpp
    svg/animation/SMILTimeContainer.cpp
    svg/animation/SVGSMILElement.cpp

    svg/graphics/SVGImage.cpp
    svg/graphics/SVGImageCache.cpp
    svg/graphics/SVGImageForContainer.cpp

    svg/graphics/filters/SVGFEImage.cpp
    svg/graphics/filters/SVGFilter.cpp
    svg/graphics/filters/SVGFilterBuilder.cpp

    svg/properties/SVGAnimatedProperty.cpp
    svg/properties/SVGAttributeToPropertyMap.cpp
    svg/properties/SVGPathSegListPropertyTearOff.cpp
    svg/properties/SVGPropertyInfo.cpp

    workers/AbstractWorker.cpp
    workers/DedicatedWorkerGlobalScope.cpp
    workers/DedicatedWorkerThread.cpp
    workers/DefaultSharedWorkerRepository.cpp
    workers/SharedWorker.cpp
    workers/SharedWorkerGlobalScope.cpp
    workers/SharedWorkerRepository.cpp
    workers/SharedWorkerThread.cpp
    workers/Worker.cpp
    workers/WorkerEventQueue.cpp
    workers/WorkerGlobalScope.cpp
    workers/WorkerLocation.cpp
    workers/WorkerMessagingProxy.cpp
    workers/WorkerRunLoop.cpp
    workers/WorkerScriptLoader.cpp
    workers/WorkerThread.cpp

    xml/DOMParser.cpp
    xml/NativeXPathNSResolver.cpp
    xml/XMLErrors.cpp
    xml/XMLHttpRequest.cpp
    xml/XMLHttpRequestException.cpp
    xml/XMLHttpRequestProgressEventThrottle.cpp
    xml/XMLHttpRequestUpload.cpp
    xml/XMLSerializer.cpp
    xml/XMLTreeViewer.cpp
    xml/XPathEvaluator.cpp
    xml/XPathException.cpp
    xml/XPathExpression.cpp
    xml/XPathExpressionNode.cpp
    xml/XPathFunctions.cpp
    xml/XPathNSResolver.cpp
    xml/XPathNodeSet.cpp
    xml/XPathParser.cpp
    xml/XPathPath.cpp
    xml/XPathPredicate.cpp
    xml/XPathResult.cpp
    xml/XPathStep.cpp
    xml/XPathUtil.cpp
    xml/XPathValue.cpp
    xml/XPathVariableReference.cpp
    xml/XSLImportRule.cpp
    xml/XSLStyleSheetLibxslt.cpp
    xml/XSLTExtensions.cpp
    xml/XSLTProcessor.cpp
    xml/XSLTProcessorLibxslt.cpp
    xml/XSLTUnicodeSort.cpp

    xml/parser/XMLDocumentParser.cpp
    xml/parser/XMLDocumentParserLibxml2.cpp
    xml/parser/XMLDocumentParserScope.cpp
)

set(WebCore_CSS_PROPERTY_NAMES
    ${WEBCORE_DIR}/css/CSSPropertyNames.in
)

set(WebCore_CSS_VALUE_KEYWORDS
    ${WEBCORE_DIR}/css/CSSValueKeywords.in
)

set(WebCore_USER_AGENT_STYLE_SHEETS
    ${WEBCORE_DIR}/css/fullscreen.css
    ${WEBCORE_DIR}/css/html.css
    ${WEBCORE_DIR}/css/mathml.css
    ${WEBCORE_DIR}/css/mediaControls.css
    ${WEBCORE_DIR}/css/plugIns.css
    ${WEBCORE_DIR}/css/quirks.css
    ${WEBCORE_DIR}/css/svg.css
)

set(WebCore_PLUG_INS_RESOURCES
    ${WEBCORE_DIR}/Resources/plugIns.js
)

set(WebCore_LIBRARIES
    JavaScriptCore
    WTF
)

if (ENABLE_ENCRYPTED_MEDIA OR ENABLE_ENCRYPTED_MEDIA_V2)
    list(APPEND WebCore_SOURCES
        Modules/encryptedmedia/CDM.cpp
        Modules/encryptedmedia/CDMPrivateMediaPlayer.cpp
        Modules/encryptedmedia/MediaKeyMessageEvent.cpp
        Modules/encryptedmedia/MediaKeyNeededEvent.cpp
        Modules/encryptedmedia/MediaKeys.cpp
        Modules/encryptedmedia/MediaKeySession.cpp
        html/MediaKeyEvent.cpp
        testing/MockCDM.cpp
    )
    list(APPEND WebCore_IDL_FILES
        Modules/encryptedmedia/MediaKeyMessageEvent.idl
        Modules/encryptedmedia/MediaKeyNeededEvent.idl
        Modules/encryptedmedia/MediaKeySession.idl
        Modules/encryptedmedia/MediaKeys.idl
        html/MediaKeyEvent.idl
        html/MediaKeyError.idl
    )
endif ()

if (ENABLE_SQL_DATABASE)
    list(APPEND WebCore_SOURCES
        Modules/webdatabase/WorkerGlobalScopeWebDatabase.cpp
    )

    list(APPEND WebCore_IDL_FILES
        Modules/webdatabase/WorkerGlobalScopeWebDatabase.idl
    )

    list(APPEND WebCore_INSPECTOR_DOMAINS
        ${WEBCORE_DIR}/inspector/protocol/Database.json
    )
endif ()

if (NOT ENABLE_NETSCAPE_PLUGIN_API)
    list(APPEND WebCore_SOURCES
        plugins/PluginPackageNone.cpp
        plugins/PluginViewNone.cpp
    )
endif ()

list(APPEND WebCore_CSS_PROPERTY_NAMES
    ${WEBCORE_DIR}/css/SVGCSSPropertyNames.in
)
list(APPEND WebCore_CSS_VALUE_KEYWORDS
    ${WEBCORE_DIR}/css/SVGCSSValueKeywords.in
)

if (ENABLE_SMOOTH_SCROLLING)
    list(APPEND WebCore_SOURCES
        platform/ScrollAnimatorNone.cpp
    )
endif ()

if (ENABLE_WEBGL)
    set(WTF_USE_3D_GRAPHICS 1)
    add_definitions(-DWTF_USE_3D_GRAPHICS=1)

    list(APPEND WebCore_SOURCES
        html/canvas/ANGLEInstancedArrays.cpp
        html/canvas/EXTShaderTextureLOD.cpp
        html/canvas/EXTTextureFilterAnisotropic.cpp
        html/canvas/OESElementIndexUint.cpp
        html/canvas/OESStandardDerivatives.cpp
        html/canvas/OESTextureFloat.cpp
        html/canvas/OESTextureFloatLinear.cpp
        html/canvas/OESTextureHalfFloat.cpp
        html/canvas/OESTextureHalfFloatLinear.cpp
        html/canvas/OESVertexArrayObject.cpp
        html/canvas/WebGLBuffer.cpp
        html/canvas/WebGLCompressedTextureATC.cpp
        html/canvas/WebGLCompressedTexturePVRTC.cpp
        html/canvas/WebGLCompressedTextureS3TC.cpp
        html/canvas/WebGLContextAttributes.cpp
        html/canvas/WebGLContextEvent.cpp
        html/canvas/WebGLContextGroup.cpp
        html/canvas/WebGLContextObject.cpp
        html/canvas/WebGLDebugRendererInfo.cpp
        html/canvas/WebGLDebugShaders.cpp
        html/canvas/WebGLDepthTexture.cpp
        html/canvas/WebGLDrawBuffers.cpp
        html/canvas/WebGLExtension.cpp
        html/canvas/WebGLFramebuffer.cpp
        html/canvas/WebGLGetInfo.cpp
        html/canvas/WebGLLoseContext.cpp
        html/canvas/WebGLObject.cpp
        html/canvas/WebGLProgram.cpp
        html/canvas/WebGLRenderbuffer.cpp
        html/canvas/WebGLRenderingContext.cpp
        html/canvas/WebGLShader.cpp
        html/canvas/WebGLShaderPrecisionFormat.cpp
        html/canvas/WebGLSharedObject.cpp
        html/canvas/WebGLTexture.cpp
        html/canvas/WebGLUniformLocation.cpp
        html/canvas/WebGLVertexArrayObjectOES.cpp
    )
    list(APPEND WebCore_IDL_FILES
        html/canvas/ANGLEInstancedArrays.idl
        html/canvas/EXTShaderTextureLOD.idl
        html/canvas/EXTTextureFilterAnisotropic.idl
        html/canvas/OESElementIndexUint.idl
        html/canvas/OESStandardDerivatives.idl
        html/canvas/OESTextureFloat.idl
        html/canvas/OESTextureFloatLinear.idl
        html/canvas/OESTextureHalfFloat.idl
        html/canvas/OESTextureHalfFloatLinear.idl
        html/canvas/OESVertexArrayObject.idl
        html/canvas/WebGLActiveInfo.idl
        html/canvas/WebGLBuffer.idl
        html/canvas/WebGLCompressedTextureATC.idl
        html/canvas/WebGLCompressedTexturePVRTC.idl
        html/canvas/WebGLCompressedTextureS3TC.idl
        html/canvas/WebGLContextAttributes.idl
        html/canvas/WebGLContextEvent.idl
        html/canvas/WebGLDebugRendererInfo.idl
        html/canvas/WebGLDebugShaders.idl
        html/canvas/WebGLDepthTexture.idl
        html/canvas/WebGLDrawBuffers.idl
        html/canvas/WebGLFramebuffer.idl
        html/canvas/WebGLLoseContext.idl
        html/canvas/WebGLProgram.idl
        html/canvas/WebGLRenderbuffer.idl
        html/canvas/WebGLRenderingContext.idl
        html/canvas/WebGLShader.idl
        html/canvas/WebGLShaderPrecisionFormat.idl
        html/canvas/WebGLTexture.idl
        html/canvas/WebGLUniformLocation.idl
        html/canvas/WebGLVertexArrayObjectOES.idl
    )
endif ()

if (ENABLE_VIDEO_TRACK)
    list(APPEND WebCore_IDL_FILES
        html/track/AudioTrack.idl
        html/track/AudioTrackList.idl
        html/track/DataCue.idl
        html/track/TextTrack.idl
        html/track/TextTrackCue.idl
        html/track/TextTrackCueList.idl
        html/track/TextTrackList.idl
        html/track/TrackEvent.idl
        html/track/VideoTrack.idl
        html/track/VideoTrackList.idl
        html/track/VTTCue.idl
    )

    list(APPEND WebCore_SOURCES
        html/track/AudioTrack.cpp
        html/track/AudioTrackList.cpp
        html/track/BufferedLineReader.cpp
        html/track/DataCue.cpp
        html/track/InbandDataTextTrack.cpp
        html/track/InbandGenericTextTrack.cpp
        html/track/InbandTextTrack.cpp
        html/track/InbandWebVTTTextTrack.cpp
        html/track/LoadableTextTrack.cpp
        html/track/TextTrack.cpp
        html/track/TextTrackCue.cpp
        html/track/TextTrackCueGeneric.cpp
        html/track/TextTrackCueList.cpp
        html/track/TextTrackList.cpp
        html/track/TrackBase.cpp
        html/track/TrackEvent.cpp
        html/track/TrackListBase.cpp
        html/track/VideoTrack.cpp
        html/track/VideoTrackList.cpp
        html/track/VTTCue.cpp
        html/track/VTTScanner.cpp
        html/track/WebVTTElement.cpp
        html/track/WebVTTParser.cpp
        html/track/WebVTTTokenizer.cpp

        loader/cache/CachedTextTrack.cpp

        platform/graphics/TextTrackRepresentation.cpp
    )
endif ()

if (ENABLE_QUOTA)
    list(APPEND WebCore_SOURCES
        Modules/quota/DOMWindowQuota.cpp
        Modules/quota/NavigatorStorageQuota.cpp
        Modules/quota/StorageErrorCallback.cpp
        Modules/quota/StorageInfo.cpp
        Modules/quota/StorageQuota.cpp
        Modules/quota/WorkerNavigatorStorageQuota.cpp
    )

    list(APPEND WebCore_IDL_FILES
        Modules/quota/DOMWindowQuota.idl
        Modules/quota/NavigatorStorageQuota.idl
        Modules/quota/StorageErrorCallback.idl
        Modules/quota/StorageInfo.idl
        Modules/quota/StorageQuota.idl
        Modules/quota/StorageQuotaCallback.idl
        Modules/quota/StorageUsageCallback.idl
        Modules/quota/WorkerNavigatorStorageQuota.idl
    )
endif ()
if(PORT STREQUAL "CDROID")
   list(APPEND WebCore_SOURCES
       platform/text/TextCodecUTF8.cpp
       platform/text/TextEncodingDetectorNone.cpp
   )
else()
   list(APPEND WebCore_SOURCES
       platform/text/TextCodecICU.cpp
       platform/text/TextEncodingDetectorICU.cpp
       platform/text/icu/UTextProvider.cpp
       platform/text/icu/UTextProviderLatin1.cpp
       platform/text/icu/UTextProviderUTF16.cpp
   )
endif()	
list(APPEND WebCore_INCLUDE_DIRECTORIES
    ${ICU_INCLUDE_DIRS}
)
list(APPEND WebCore_LIBRARIES
    ${ICU_LIBRARIES}
)

if (WTF_USE_3D_GRAPHICS)
    list(APPEND WebCore_INCLUDE_DIRECTORIES
        "${THIRDPARTY_DIR}/ANGLE/src"
        "${THIRDPARTY_DIR}/ANGLE/include"
        "${THIRDPARTY_DIR}/ANGLE/include/KHR"
        "${THIRDPARTY_DIR}/ANGLE/include/GLSLANG"
        "${WEBCORE_DIR}/platform/graphics/gpu"
    )
    if (OPENGL_FOUND)
        list(APPEND WebCore_INCLUDE_DIRECTORIES
            ${OPENGL_INCLUDE_DIR}
        )
        list(APPEND WebCore_LIBRARIES
            ${OPENGL_gl_LIBRARY}
        )
    elseif (OPENGLES2_FOUND)
        list(APPEND WebCore_INCLUDE_DIRECTORIES
            ${OPENGLES2_INCLUDE_DIR}
        )
        list(APPEND WebCore_LIBRARIES
            ${OPENGLES2_LIBRARIES}
        )
    endif ()

    list(APPEND ANGLESupport_SOURCES
        ${THIRDPARTY_DIR}/ANGLE/src/common/blocklayout.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/common/debug.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/common/event_tracer.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/common/mathutil.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/common/RefCountObject.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/common/shadervars.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/common/utilities.cpp
    
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/BuiltInFunctionEmulator.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/CodeGen.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/Compiler.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/DetectCallDepth.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/DetectDiscontinuity.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/Diagnostics.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/DirectiveHandler.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/ForLoopUnroll.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/FlagStd140Structs.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/InfoSink.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/Initialize.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/InitializeDll.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/InitializeParseContext.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/InitializeVariables.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/Intermediate.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/IntermTraverse.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/Intermediate.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/LoopInfo.cpp        
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/OutputESSL.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/OutputGLSL.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/OutputGLSLBase.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/OutputHLSL.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/ParseContext.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/PoolAlloc.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/QualifierAlive.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/RemoveTree.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/RewriteElseBlocks.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/SearchSymbol.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/ShaderLang.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/SymbolTable.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/TranslatorESSL.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/TranslatorGLSL.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/TranslatorHLSL.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/UnfoldShortCircuit.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/UnfoldShortCircuitAST.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/ValidateOutputs.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/ValidateLimitations.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/VariableInfo.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/VariablePacker.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/VersionGLSL.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/compilerdebug.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/glslang_lex.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/glslang_tab.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/intermOut.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/parseConst.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/util.cpp

        ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/depgraph/DependencyGraph.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/depgraph/DependencyGraphBuilder.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/depgraph/DependencyGraphOutput.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/depgraph/DependencyGraphTraverse.cpp

        ${THIRDPARTY_DIR}/ANGLE/src/compiler/preprocessor/DiagnosticsBase.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/preprocessor/DirectiveHandlerBase.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/preprocessor/DirectiveParser.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/preprocessor/ExpressionParser.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/preprocessor/Input.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/preprocessor/Lexer.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/preprocessor/Macro.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/preprocessor/MacroExpander.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/preprocessor/Preprocessor.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/preprocessor/Token.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/preprocessor/Tokenizer.cpp

        ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/timing/RestrictFragmentShaderTiming.cpp
        ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/timing/RestrictVertexShaderTiming.cpp

        ${THIRDPARTY_DIR}/ANGLE/src/third_party/compiler/ArrayBoundsClamper.cpp
    )

    if (WIN32)
        list(APPEND ANGLESupport_SOURCES
            ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/ossource_win.cpp
        )
    else ()
        list(APPEND ANGLESupport_SOURCES
            ${THIRDPARTY_DIR}/ANGLE/src/compiler/translator/ossource_posix.cpp
        )
    endif ()

    list(APPEND WebCore_SOURCES
        platform/graphics/ANGLEWebKitBridge.cpp
        platform/graphics/GraphicsContext3D.cpp
        platform/graphics/FormatConverter.cpp

        platform/graphics/gpu/DrawingBuffer.cpp
    )
endif ()

if (ENABLE_WEB_REPLAY)
    list(APPEND WebCore_INSPECTOR_DOMAINS
        ${WEBCORE_DIR}/inspector/protocol/Replay.json
    )
    list(APPEND WebCore_INCLUDE_DIRECTORIES
        "${JAVASCRIPTCORE_DIR}/inspector"
        "${JAVASCRIPTCORE_DIR}/replay"
    )

    set(WebCore_WEB_REPLAY_INPUTS ${CMAKE_CURRENT_SOURCE_DIR}/replay/WebInputs.json)
    add_custom_command(
        OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/WebReplayInputs.h ${DERIVED_SOURCES_WEBCORE_DIR}/WebReplayInputs.cpp
        MAIN_DEPENDENCY ${JAVASCRIPTCORE_DIR}/replay/scripts/CodeGeneratorReplayInputs.py
        DEPENDS ${WebCore_WEB_REPLAY_INPUTS}
        COMMAND ${PYTHON_EXECUTABLE} ${JAVASCRIPTCORE_DIR}/replay/scripts/CodeGeneratorReplayInputs.py --outputDir ${DERIVED_SOURCES_WEBCORE_DIR}/ --framework WebCore ${WebCore_WEB_REPLAY_INPUTS}
        VERBATIM)

    list(APPEND WebCore_SOURCES
        inspector/InspectorReplayAgent.cpp
        replay/CapturingInputCursor.cpp
        replay/EventLoopInput.cpp
        replay/EventLoopInputDispatcher.cpp
        replay/MemoizedDOMResult.cpp
        replay/ReplayController.cpp
        replay/ReplayingInputCursor.cpp
        replay/ReplayInputCreationMethods.cpp
        replay/ReplayInputDispatchMethods.cpp
        replay/ReplayInputTypes.cpp
        replay/ReplaySession.cpp
        replay/ReplaySessionSegment.cpp
        replay/SegmentedInputStorage.cpp
        replay/SerializationMethods.cpp
        replay/UserInputBridge.cpp

        ${DERIVED_SOURCES_WEBCORE_DIR}/WebReplayInputs.cpp
    )
endif ()

set(WebCoreTestSupport_INCLUDE_DIRECTORIES
    "${WEBCORE_DIR}/platform/mock"
    "${WEBCORE_DIR}/testing"
)

set(WebCoreTestSupport_IDL_INCLUDES
    testing
)

set(WebCoreTestSupport_IDL_FILES
    testing/InternalSettings.idl
    testing/Internals.idl
    testing/MallocStatistics.idl
    testing/MemoryInfo.idl
    testing/TypeConversions.idl
)

set(WebCoreTestSupport_SOURCES
    platform/mock/PlatformSpeechSynthesizerMock.cpp

    platform/mock/mediasource/MockBox.cpp
    platform/mock/mediasource/MockMediaPlayerMediaSource.cpp
    platform/mock/mediasource/MockMediaSourcePrivate.cpp
    platform/mock/mediasource/MockSourceBufferPrivate.cpp
    platform/mock/mediasource/MockTracks.cpp

    testing/InternalSettings.cpp
    testing/Internals.cpp

    testing/js/WebCoreTestSupport.cpp
)

set(WebCoreTestSupport_LIBRARIES
    JavaScriptCore
    WTF
    WebCore
)

# Modules that the bindings generator scripts may use
set(SCRIPTS_RESOLVE_SUPPLEMENTAL
    ${WEBCORE_DIR}/bindings/scripts/IDLParser.pm
)
set(SCRIPTS_BINDINGS
    ${WEBCORE_DIR}/bindings/scripts/CodeGenerator.pm
    ${WEBCORE_DIR}/bindings/scripts/CodeGeneratorJS.pm
    ${WEBCORE_DIR}/bindings/scripts/IDLParser.pm
    ${WEBCORE_DIR}/bindings/scripts/InFilesParser.pm
    ${WEBCORE_DIR}/bindings/scripts/preprocessor.pm
)

set(MAKE_NAMES_DEPENDENCIES
    ${WEBCORE_DIR}/bindings/scripts/Hasher.pm
    ${WEBCORE_DIR}/bindings/scripts/StaticString.pm
)
set(IDL_FILES_TMP ${DERIVED_SOURCES_WEBCORE_DIR}/idl_files.tmp)
set(SUPPLEMENTAL_DEPENDENCY_FILE ${DERIVED_SOURCES_WEBCORE_DIR}/supplemental_dependency.tmp)
set(WINDOW_CONSTRUCTORS_FILE ${DERIVED_SOURCES_WEBCORE_DIR}/DOMWindowConstructors.idl)
set(WORKERGLOBALSCOPE_CONSTRUCTORS_FILE ${DERIVED_SOURCES_WEBCORE_DIR}/WorkerGlobalScopeConstructors.idl)
set(SHAREDWORKERGLOBALSCOPE_CONSTRUCTORS_FILE ${DERIVED_SOURCES_WEBCORE_DIR}/SharedWorkerGlobalScopeConstructors.idl)
set(DEDICATEDWORKERGLOBALSCOPE_CONSTRUCTORS_FILE ${DERIVED_SOURCES_WEBCORE_DIR}/DedicatedWorkerGlobalScopeConstructors.idl)
set(IDL_ATTRIBUTES_FILE ${WEBCORE_DIR}/bindings/scripts/IDLAttributes.txt)

WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS()

# Generate InspectorWeb.json
add_custom_command(
    OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorWeb.json
    MAIN_DEPENDENCY ${WebCore_INSPECTOR_SCRIPTS_DIR}/generate-combined-inspector-json.py
    DEPENDS ${WebCore_INSPECTOR_DOMAINS}
    COMMAND ${PYTHON_EXECUTABLE} ${WebCore_INSPECTOR_SCRIPTS_DIR}/generate-combined-inspector-json.py ${WebCore_INSPECTOR_DOMAINS} > ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorWeb.json
    VERBATIM)

# All Web Inspector generated files are created with this one call to generate-inspector-protocol-bindings.py
add_custom_command(
    OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorWebBackendDispatchers.cpp
           ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorWebBackendDispatchers.h
           ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorWebFrontendDispatchers.cpp
           ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorWebFrontendDispatchers.h
           ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorWebProtocolTypes.cpp
           ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorWebProtocolTypes.h
           ${DERIVED_SOURCES_WEBINSPECTORUI_DIR}/UserInterface/Protocol/InspectorWebBackendCommands.js
    MAIN_DEPENDENCY ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorWeb.json
    DEPENDS ${WebCore_INSPECTOR_PROTOCOL_SCRIPTS}
            ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJS.json
    COMMAND ${PYTHON_EXECUTABLE} ${WebCore_INSPECTOR_SCRIPTS_DIR}/generate-inspector-protocol-bindings.py --outputDir "${DERIVED_SOURCES_WEBCORE_DIR}" --framework WebCore ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorWeb.json ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/InspectorJS.json && cp ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorWebBackendCommands.js ${DERIVED_SOURCES_WEBINSPECTORUI_DIR}/UserInterface/Protocol
    VERBATIM)

list(APPEND WebCore_SOURCES
    ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorWebBackendDispatchers.cpp
    ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorWebFrontendDispatchers.cpp
    ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorWebProtocolTypes.cpp
)


# Generate InspectorOverlayPage.h
add_custom_command(
    OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorOverlayPage.h ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorOverlayPage.combined.html
    MAIN_DEPENDENCY inspector/InspectorOverlayPage.html
    DEPENDS ${WebCore_INSPECTOR_SCRIPTS_DIR}/xxd.pl ${WebCore_INSPECTOR_SCRIPTS_DIR}/inline-and-minify-stylesheets-and-scripts.py
    DEPENDS inspector/InspectorOverlayPage.css inspector/InspectorOverlayPage.js
    COMMAND ${PYTHON_EXECUTABLE} ${WebCore_INSPECTOR_SCRIPTS_DIR}/inline-and-minify-stylesheets-and-scripts.py ${WEBCORE_DIR}/inspector/InspectorOverlayPage.html ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorOverlayPage.combined.html
    COMMAND ${PERL_EXECUTABLE} ${WebCore_INSPECTOR_SCRIPTS_DIR}/xxd.pl InspectorOverlayPage_html ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorOverlayPage.combined.html ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorOverlayPage.h
    VERBATIM)
list(APPEND WebCore_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorOverlayPage.h)


# Generate CommandLineAPIModuleSource.h
add_custom_command(
    OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/CommandLineAPIModuleSource.h ${DERIVED_SOURCES_WEBCORE_DIR}/CommandLineAPIModuleSource.min.js
    MAIN_DEPENDENCY inspector/CommandLineAPIModuleSource.js
    DEPENDS ${WebCore_INSPECTOR_SCRIPTS_DIR}/xxd.pl ${WebCore_INSPECTOR_SCRIPTS_DIR}/jsmin.py
    COMMAND echo "//# sourceURL=__WebInspectorCommandLineAPIModuleSource__" > ${DERIVED_SOURCES_WEBCORE_DIR}/CommandLineAPIModuleSource.min.js
    COMMAND ${PYTHON_EXECUTABLE} ${WebCore_INSPECTOR_SCRIPTS_DIR}/jsmin.py < ${WEBCORE_DIR}/inspector/CommandLineAPIModuleSource.js >> ${DERIVED_SOURCES_WEBCORE_DIR}/CommandLineAPIModuleSource.min.js
    COMMAND ${PERL_EXECUTABLE} ${WebCore_INSPECTOR_SCRIPTS_DIR}/xxd.pl CommandLineAPIModuleSource_js ${DERIVED_SOURCES_WEBCORE_DIR}/CommandLineAPIModuleSource.min.js ${DERIVED_SOURCES_WEBCORE_DIR}/CommandLineAPIModuleSource.h
    VERBATIM)
list(APPEND WebCore_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/CommandLineAPIModuleSource.h)


MAKE_HASH_TOOLS(${WEBCORE_DIR}/platform/ColorData)
list(APPEND WebCore_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/ColorData.cpp)


# Generate XMLViewerCSS.h
add_custom_command(
    OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/XMLViewerCSS.h ${DERIVED_SOURCES_WEBCORE_DIR}/XMLViewer.min.css
    MAIN_DEPENDENCY xml/XMLViewer.css
    DEPENDS ${WebCore_INSPECTOR_SCRIPTS_DIR}/xxd.pl ${WebCore_INSPECTOR_SCRIPTS_DIR}/cssmin.py
    COMMAND ${PYTHON_EXECUTABLE} ${WebCore_INSPECTOR_SCRIPTS_DIR}/cssmin.py < ${WEBCORE_DIR}/xml/XMLViewer.css > ${DERIVED_SOURCES_WEBCORE_DIR}/XMLViewer.min.css
    COMMAND ${PERL_EXECUTABLE} ${WebCore_INSPECTOR_SCRIPTS_DIR}/xxd.pl XMLViewer_css ${DERIVED_SOURCES_WEBCORE_DIR}/XMLViewer.min.css ${DERIVED_SOURCES_WEBCORE_DIR}/XMLViewerCSS.h
    VERBATIM)
list(APPEND WebCore_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/XMLViewerCSS.h)


# Generate XMLViewerJS.h
add_custom_command(
    OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/XMLViewerJS.h ${DERIVED_SOURCES_WEBCORE_DIR}/XMLViewer.min.js
    MAIN_DEPENDENCY xml/XMLViewer.js
    DEPENDS ${WebCore_INSPECTOR_SCRIPTS_DIR}/xxd.pl ${WebCore_INSPECTOR_SCRIPTS_DIR}/jsmin.py
    COMMAND ${PYTHON_EXECUTABLE} ${WebCore_INSPECTOR_SCRIPTS_DIR}/jsmin.py < ${WEBCORE_DIR}/xml/XMLViewer.js > ${DERIVED_SOURCES_WEBCORE_DIR}/XMLViewer.min.js
    COMMAND ${PERL_EXECUTABLE} ${WebCore_INSPECTOR_SCRIPTS_DIR}/xxd.pl XMLViewer_js ${DERIVED_SOURCES_WEBCORE_DIR}/XMLViewer.min.js ${DERIVED_SOURCES_WEBCORE_DIR}/XMLViewerJS.h
    VERBATIM)
list(APPEND WebCore_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/XMLViewerJS.h)


# Generate HTML entity table
add_custom_command(
    OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/HTMLEntityTable.cpp
    MAIN_DEPENDENCY ${WEBCORE_DIR}/html/parser/HTMLEntityNames.in
    DEPENDS ${WEBCORE_DIR}/html/parser/create-html-entity-table
    COMMAND ${PYTHON_EXECUTABLE} ${WEBCORE_DIR}/html/parser/create-html-entity-table -o ${DERIVED_SOURCES_WEBCORE_DIR}/HTMLEntityTable.cpp ${WEBCORE_DIR}/html/parser/HTMLEntityNames.in
    VERBATIM)
list(APPEND WebCore_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/HTMLEntityTable.cpp)

# Generate HTTP header names
add_custom_command(
    OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/HTTPHeaderNames.cpp ${DERIVED_SOURCES_WEBCORE_DIR}/HTTPHeaderNames.gperf ${DERIVED_SOURCES_WEBCORE_DIR}/HTTPHeaderNames.h
    MAIN_DEPENDENCY ${WEBCORE_DIR}/platform/network/HTTPHeaderNames.in
    DEPENDS ${WEBCORE_DIR}/platform/network/create-http-header-name-table
    WORKING_DIRECTORY ${DERIVED_SOURCES_WEBCORE_DIR}
    COMMAND ${PYTHON_EXECUTABLE} ${WEBCORE_DIR}/platform/network/create-http-header-name-table ${WEBCORE_DIR}/platform/network/HTTPHeaderNames.in
    VERBATIM)
list(APPEND WebCore_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/HTTPHeaderNames.cpp)

# Generate CSS property names
add_custom_command(
    OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/CSSPropertyNames.in ${DERIVED_SOURCES_WEBCORE_DIR}/CSSPropertyNames.h ${DERIVED_SOURCES_WEBCORE_DIR}/CSSPropertyNames.cpp ${DERIVED_SOURCES_WEBCORE_DIR}/CSSPropertyNames.gperf
    MAIN_DEPENDENCY ${WEBCORE_DIR}/css/makeprop.pl
    DEPENDS ${WebCore_CSS_PROPERTY_NAMES}
    WORKING_DIRECTORY ${DERIVED_SOURCES_WEBCORE_DIR}
    COMMAND ${PERL_EXECUTABLE} -ne "print" ${WebCore_CSS_PROPERTY_NAMES} > ${DERIVED_SOURCES_WEBCORE_DIR}/CSSPropertyNames.in
    COMMAND ${PERL_EXECUTABLE} -I${WEBCORE_DIR}/bindings/scripts ${WEBCORE_DIR}/css/makeprop.pl --defines "${FEATURE_DEFINES_WITH_SPACE_SEPARATOR}" --preprocessor "${CODE_GENERATOR_PREPROCESSOR}"
    VERBATIM)
list(APPEND WebCore_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/CSSPropertyNames.cpp)
ADD_SOURCE_WEBCORE_DERIVED_DEPENDENCIES(${WEBCORE_DIR}/css/CSSParser.cpp CSSValueKeywords.h)
ADD_SOURCE_WEBCORE_DERIVED_DEPENDENCIES(${DERIVED_SOURCES_WEBCORE_DIR}/CSSGrammar.cpp CSSPropertyNames.h)


# Generate CSS value keywords
add_custom_command(
    OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/CSSValueKeywords.in ${DERIVED_SOURCES_WEBCORE_DIR}/CSSValueKeywords.h ${DERIVED_SOURCES_WEBCORE_DIR}/CSSValueKeywords.cpp ${DERIVED_SOURCES_WEBCORE_DIR}/CSSValueKeywords.gperf
    MAIN_DEPENDENCY ${WEBCORE_DIR}/css/makevalues.pl
    DEPENDS ${WebCore_CSS_VALUE_KEYWORDS}
    WORKING_DIRECTORY ${DERIVED_SOURCES_WEBCORE_DIR}
    COMMAND ${PERL_EXECUTABLE} -ne "print" ${WebCore_CSS_VALUE_KEYWORDS} > ${DERIVED_SOURCES_WEBCORE_DIR}/CSSValueKeywords.in
    COMMAND ${PERL_EXECUTABLE} -I${WEBCORE_DIR}/bindings/scripts ${WEBCORE_DIR}/css/makevalues.pl --defines "${FEATURE_DEFINES_WITH_SPACE_SEPARATOR}" --preprocessor "${CODE_GENERATOR_PREPROCESSOR}"
    VERBATIM)
list(APPEND WebCore_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/CSSValueKeywords.cpp)
ADD_SOURCE_WEBCORE_DERIVED_DEPENDENCIES(${WEBCORE_DIR}/css/CSSParser.cpp CSSValueKeywords.h)
ADD_SOURCE_WEBCORE_DERIVED_DEPENDENCIES(${WEBCORE_DIR}/css/CSSPrimitiveValueMappings.h CSSValueKeywords.h)
ADD_SOURCE_WEBCORE_DERIVED_DEPENDENCIES(${DERIVED_SOURCES_WEBCORE_DIR}/CSSGrammar.cpp CSSValueKeywords.h)

# Generate CSS Selector pseudo type name to value maps.
add_custom_command(
    OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/SelectorPseudoClassAndCompatibilityElementMap.gperf ${DERIVED_SOURCES_WEBCORE_DIR}/SelectorPseudoClassAndCompatibilityElementMap.cpp
    MAIN_DEPENDENCY ${WEBCORE_DIR}/css/makeSelectorPseudoClassAndCompatibilityElementMap.py
    WORKING_DIRECTORY ${DERIVED_SOURCES_WEBCORE_DIR}
    COMMAND ${PYTHON_EXECUTABLE} ${WEBCORE_DIR}/css/makeSelectorPseudoClassAndCompatibilityElementMap.py ${WEBCORE_DIR}/css/SelectorPseudoClassAndCompatibilityElementMap.in "${FEATURE_DEFINES_WITH_SPACE_SEPARATOR}"
    VERBATIM)
list(APPEND WebCore_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/SelectorPseudoClassAndCompatibilityElementMap.cpp)
add_custom_command(
    OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/SelectorPseudoElementTypeMap.gperf ${DERIVED_SOURCES_WEBCORE_DIR}/SelectorPseudoElementTypeMap.cpp
    MAIN_DEPENDENCY ${WEBCORE_DIR}/css/makeSelectorPseudoElementsMap.py
    WORKING_DIRECTORY ${DERIVED_SOURCES_WEBCORE_DIR}
    COMMAND ${PYTHON_EXECUTABLE} ${WEBCORE_DIR}/css/makeSelectorPseudoElementsMap.py ${WEBCORE_DIR}/css/SelectorPseudoElementTypeMap.in "${FEATURE_DEFINES_WITH_SPACE_SEPARATOR}"
    VERBATIM)
list(APPEND WebCore_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/SelectorPseudoElementTypeMap.cpp)

# Generate user agent styles
add_custom_command(
    OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/UserAgentStyleSheetsData.cpp ${DERIVED_SOURCES_WEBCORE_DIR}/UserAgentStyleSheets.h
    MAIN_DEPENDENCY ${WEBCORE_DIR}/css/make-css-file-arrays.pl
    DEPENDS ${WebCore_USER_AGENT_STYLE_SHEETS} ${WEBCORE_DIR}/bindings/scripts/preprocessor.pm
    COMMAND ${PERL_EXECUTABLE} -I${WEBCORE_DIR}/bindings/scripts ${WEBCORE_DIR}/css/make-css-file-arrays.pl --defines "${FEATURE_DEFINES_WITH_SPACE_SEPARATOR}" --preprocessor "${CODE_GENERATOR_PREPROCESSOR}" ${DERIVED_SOURCES_WEBCORE_DIR}/UserAgentStyleSheets.h ${DERIVED_SOURCES_WEBCORE_DIR}/UserAgentStyleSheetsData.cpp ${WebCore_USER_AGENT_STYLE_SHEETS}
    VERBATIM)
list(APPEND WebCore_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/UserAgentStyleSheetsData.cpp)
ADD_SOURCE_WEBCORE_DERIVED_DEPENDENCIES(${WEBCORE_DIR}/css/StyleResolver.cpp UserAgentStyleSheetsData.cpp UserAgentStyleSheets.h)

if (WebCore_USER_AGENT_SCRIPTS)
    # Necessary variables:
    # WebCore_USER_AGENT_SCRIPTS containing the JavaScript sources list
    # WebCore_USER_AGENT_SCRIPTS_DEPENDENCIES containing the source file that will load the scripts to add the proper
    #   dependency and having them built at the right moment

    add_custom_command(
        OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/UserAgentScriptsData.cpp ${DERIVED_SOURCES_WEBCORE_DIR}/UserAgentScripts.h
        MAIN_DEPENDENCY ${WEBCORE_DIR}/Scripts/make-js-file-arrays.py
        DEPENDS ${WebCore_USER_AGENT_SCRIPTS}
        COMMAND "PYTHONPATH=${WebCore_INSPECTOR_SCRIPTS_DIR}" ${PYTHON_EXECUTABLE} ${WEBCORE_DIR}/Scripts/make-js-file-arrays.py ${DERIVED_SOURCES_WEBCORE_DIR}/UserAgentScripts.h ${DERIVED_SOURCES_WEBCORE_DIR}/UserAgentScriptsData.cpp ${WebCore_USER_AGENT_SCRIPTS}
        VERBATIM)
    list(APPEND WebCore_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/UserAgentScriptsData.cpp)
    ADD_SOURCE_WEBCORE_DERIVED_DEPENDENCIES(${WebCore_USER_AGENT_SCRIPTS_DEPENDENCIES} UserAgentScriptsData.cpp UserAgentScripts.h)
endif ()

# Generate plug-in resources
add_custom_command(
    OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/PlugInsResourcesData.cpp ${DERIVED_SOURCES_WEBCORE_DIR}/PlugInsResources.h
    MAIN_DEPENDENCY ${WEBCORE_DIR}/css/make-css-file-arrays.pl
    DEPENDS ${WebCore_PLUG_INS_RESOURCES} ${WEBCORE_DIR}/bindings/scripts/preprocessor.pm
    COMMAND ${PERL_EXECUTABLE} -I${WEBCORE_DIR}/bindings/scripts ${WEBCORE_DIR}/css/make-css-file-arrays.pl --defines "${FEATURE_DEFINES_WITH_SPACE_SEPARATOR}" --preprocessor "${CODE_GENERATOR_PREPROCESSOR}" ${DERIVED_SOURCES_WEBCORE_DIR}/PlugInsResources.h ${DERIVED_SOURCES_WEBCORE_DIR}/PlugInsResourcesData.cpp ${WebCore_PLUG_INS_RESOURCES}
    VERBATIM)
list(APPEND WebCore_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/PlugInsResourcesData.cpp)
ADD_SOURCE_WEBCORE_DERIVED_DEPENDENCIES(${WEBCORE_DIR}/css/StyleResolver.cpp PlugInsResourcesData.cpp PlugInsResources.h)

GENERATE_GRAMMAR(cssyy ${WEBCORE_DIR}/css/CSSGrammar.y.in ${DERIVED_SOURCES_WEBCORE_DIR}/CSSGrammar.h ${DERIVED_SOURCES_WEBCORE_DIR}/CSSGrammar.cpp "${FEATURE_DEFINES_WITH_SPACE_SEPARATOR}")
list(APPEND WebCore_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/CSSGrammar.cpp)


GENERATE_GRAMMAR(xpathyy ${WEBCORE_DIR}/xml/XPathGrammar.y ${DERIVED_SOURCES_WEBCORE_DIR}/XPathGrammar.h ${DERIVED_SOURCES_WEBCORE_DIR}/XPathGrammar.cpp "")
list(APPEND WebCore_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/XPathGrammar.cpp)


set(IDL_INCLUDES "")
foreach (_include ${WebCore_IDL_INCLUDES})
    list(APPEND IDL_INCLUDES --include=${WEBCORE_DIR}/${_include})
endforeach ()

foreach (_include ${WebCoreTestSupport_IDL_INCLUDES})
    list(APPEND IDL_INCLUDES --include=${WEBCORE_DIR}/${_include})
endforeach ()

set(FEATURE_DEFINES_JAVASCRIPT "LANGUAGE_JAVASCRIPT=1 ${FEATURE_DEFINES_WITH_SPACE_SEPARATOR}")

# Create JavaScript C++ code given an IDL input
foreach (_idl ${WebCore_IDL_FILES})
    set(IDL_FILES_LIST "${IDL_FILES_LIST}${WEBCORE_DIR}/${_idl}\n")
endforeach ()

foreach (_idl ${WebCoreTestSupport_IDL_FILES})
    set(IDL_FILES_LIST "${IDL_FILES_LIST}${WEBCORE_DIR}/${_idl}\n")
endforeach ()

set(IDL_FILES_LIST "${IDL_FILES_LIST}${DERIVED_SOURCES_WEBCORE_DIR}/InternalSettingsGenerated.idl\n")
list(APPEND IDL_INCLUDES --include=${DERIVED_SOURCES_WEBCORE_DIR})
list(APPEND WebCoreTestSupport_IDL_FILES ${DERIVED_SOURCES_WEBCORE_DIR}/InternalSettingsGenerated.idl)

file(WRITE ${IDL_FILES_TMP} ${IDL_FILES_LIST})

add_custom_command(
    OUTPUT ${SUPPLEMENTAL_DEPENDENCY_FILE} ${WINDOW_CONSTRUCTORS_FILE} ${WORKERGLOBALSCOPE_CONSTRUCTORS_FILE} ${SHAREDWORKERGLOBALSCOPE_CONSTRUCTORS_FILE} ${DEDICATEDWORKERGLOBALSCOPE_CONSTRUCTORS_FILE}
    DEPENDS ${WEBCORE_DIR}/bindings/scripts/preprocess-idls.pl ${SCRIPTS_PREPROCESS_IDLS} ${WebCore_IDL_FILES} ${WebCoreTestSupport_IDL_FILES}
    COMMAND ${PERL_EXECUTABLE} -I${WEBCORE_DIR}/bindings/scripts ${WEBCORE_DIR}/bindings/scripts/preprocess-idls.pl --defines "${FEATURE_DEFINES_JAVASCRIPT}" --idlFilesList ${IDL_FILES_TMP} --supplementalDependencyFile ${SUPPLEMENTAL_DEPENDENCY_FILE} --windowConstructorsFile ${WINDOW_CONSTRUCTORS_FILE} --workerGlobalScopeConstructorsFile ${WORKERGLOBALSCOPE_CONSTRUCTORS_FILE}
--sharedWorkerGlobalScopeConstructorsFile ${SHAREDWORKERGLOBALSCOPE_CONSTRUCTORS_FILE} --dedicatedWorkerGlobalScopeConstructorsFile ${DEDICATEDWORKERGLOBALSCOPE_CONSTRUCTORS_FILE}
    VERBATIM)

GENERATE_BINDINGS(WebCore_SOURCES
    "${WebCore_IDL_FILES}"
    "${WEBCORE_DIR}"
    "${IDL_INCLUDES}"
    "${FEATURE_DEFINES_JAVASCRIPT}"
    ${DERIVED_SOURCES_WEBCORE_DIR} JS JS cpp
    ${IDL_ATTRIBUTES_FILE}
    ${SUPPLEMENTAL_DEPENDENCY_FILE}
    ${WINDOW_CONSTRUCTORS_FILE}
    ${WORKERGLOBALSCOPE_CONSTRUCTORS_FILE}
    ${SHAREDWORKERGLOBALSCOPE_CONSTRUCTORS_FILE}
    ${DEDICATEDWORKERGLOBALSCOPE_CONSTRUCTORS_FILE})

GENERATE_BINDINGS(WebCoreTestSupport_SOURCES
    "${WebCoreTestSupport_IDL_FILES}"
    "${WEBCORE_DIR}"
    "${IDL_INCLUDES}"
    "${FEATURE_DEFINES_JAVASCRIPT}"
    ${DERIVED_SOURCES_WEBCORE_DIR} JS JS cpp
    ${IDL_ATTRIBUTES_FILE}
    ${SUPPLEMENTAL_DEPENDENCY_FILE}
    ${WINDOW_CONSTRUCTORS_FILE}
    ${WORKERGLOBALSCOPE_CONSTRUCTORS_FILE}
    ${SHAREDWORKERGLOBALSCOPE_CONSTRUCTORS_FILE}
    ${DEDICATEDWORKERGLOBALSCOPE_CONSTRUCTORS_FILE})


ADD_SOURCE_WEBCORE_DERIVED_DEPENDENCIES(${WEBCORE_DIR}/html/HTMLTreeBuilder.cpp MathMLNames.cpp)


GENERATE_DOM_NAMES(HTML ${WEBCORE_DIR}/html/HTMLAttributeNames.in ${WEBCORE_DIR}/html/HTMLTagNames.in "")
list(APPEND WebCore_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/HTMLNames.cpp ${DERIVED_SOURCES_WEBCORE_DIR}/HTMLElementFactory.cpp ${DERIVED_SOURCES_WEBCORE_DIR}/JSHTMLElementWrapperFactory.cpp)


GENERATE_EVENT_FACTORY(${WEBCORE_DIR}/dom/EventNames.in EventFactory.cpp)
list(APPEND WebCore_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/EventFactory.cpp)


GENERATE_EVENT_FACTORY(${WEBCORE_DIR}/dom/EventTargetFactory.in EventTargetInterfaces.h)
ADD_SOURCE_WEBCORE_DERIVED_DEPENDENCIES(${WEBCORE_DIR}/dom/EventNames.cpp EventTargetInterfaces.h)


GENERATE_EXCEPTION_CODE_DESCRIPTION(${WEBCORE_DIR}/dom/DOMExceptions.in ExceptionCodeDescription.cpp)
list(APPEND WebCore_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/ExceptionCodeDescription.cpp)


GENERATE_SETTINGS_MACROS(${WEBCORE_DIR}/page/Settings.in SettingsMacros.h)
list(APPEND WebCoreTestSupport_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/InternalSettingsGenerated.cpp)


GENERATE_FONT_NAMES(${WEBCORE_DIR}/css/WebKitFontFamilyNames.in)
list(APPEND WebCore_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/WebKitFontFamilyNames.cpp)


GENERATE_DOM_NAMES(MathML ${WEBCORE_DIR}/mathml/mathattrs.in ${WEBCORE_DIR}/mathml/mathtags.in "")
list(APPEND WebCore_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/MathMLNames.cpp)
if (ENABLE_MATHML)
    list(APPEND WebCore_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/MathMLElementFactory.cpp)
endif ()

# SVG extra defines need to map to a numerical value for correct preprocessing of svgtags.in.
set(SVG_EXTRA_DEFINES "")
if (ENABLE_SVG_FONTS)
    list(APPEND SVG_EXTRA_DEFINES "ENABLE_SVG_FONTS=1")
endif ()

GENERATE_DOM_NAMES(SVG ${WEBCORE_DIR}/svg/svgattrs.in ${WEBCORE_DIR}/svg/svgtags.in "${SVG_EXTRA_DEFINES}")
list(APPEND WebCore_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/SVGNames.cpp)

list(APPEND WebCore_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/SVGElementFactory.cpp ${DERIVED_SOURCES_WEBCORE_DIR}/JSSVGElementWrapperFactory.cpp)

GENERATE_DOM_NAMES(XLink ${WEBCORE_DIR}/svg/xlinkattrs.in)
list(APPEND WebCore_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/XLinkNames.cpp)


GENERATE_DOM_NAMES(XMLNS ${WEBCORE_DIR}/xml/xmlnsattrs.in)
list(APPEND WebCore_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/XMLNSNames.cpp)


GENERATE_DOM_NAMES(XML ${WEBCORE_DIR}/xml/xmlattrs.in)
list(APPEND WebCore_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/XMLNames.cpp)

if ( (NOT PORT STREQUAL "GTK") AND (NOT PORT STREQUAL "CDROID") )
    add_custom_command(
        OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/WebKitVersion.h
        MAIN_DEPENDENCY ${WEBKIT_DIR}/scripts/generate-webkitversion.pl
        DEPENDS ${WEBKIT_DIR}/mac/Configurations/Version.xcconfig
        COMMAND ${PERL_EXECUTABLE} ${WEBKIT_DIR}/scripts/generate-webkitversion.pl --config ${WEBKIT_DIR}/mac/Configurations/Version.xcconfig --outputDir ${DERIVED_SOURCES_WEBCORE_DIR}
        VERBATIM)
    list(APPEND WebCore_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/WebKitVersion.h)
endif ()

WEBKIT_WRAP_SOURCELIST(${WebCore_IDL_FILES} ${WebCore_SOURCES})
WEBKIT_WRAP_SOURCELIST(${WebCoreTestSupport_IDL_FILES} ${WebCoreTestSupport_SOURCES})

include_directories(${WebCore_INCLUDE_DIRECTORIES} ${WebCoreTestSupport_INCLUDE_DIRECTORIES})

add_library(WebCore ${WebCore_LIBRARY_TYPE} ${WebCore_SOURCES})
set_target_properties(WebCore PROPERTIES COMPILE_DEFINITIONS "BUILDING_WebCore")
set_target_properties(WebCore PROPERTIES FOLDER "WebCore")

if (WebCore_OUTPUT_NAME)
    set_target_properties(WebCore PROPERTIES OUTPUT_NAME ${WebCore_OUTPUT_NAME})
endif ()

add_library(WebCoreTestSupport ${WebCoreTestSupport_LIBRARY_TYPE} ${WebCoreTestSupport_SOURCES})
target_link_libraries(WebCoreTestSupport ${WebCoreTestSupport_LIBRARIES})
set_target_properties(WebCoreTestSupport PROPERTIES FOLDER "WebCore")

if (WebCoreTestSupport_OUTPUT_NAME)
    set_target_properties(WebCoreTestSupport PROPERTIES OUTPUT_NAME ${WebCoreTestSupport_OUTPUT_NAME})
endif ()

if (WTF_USE_3D_GRAPHICS)
    add_library(ANGLESupport STATIC ${ANGLESupport_SOURCES})
    set_target_properties(ANGLESupport PROPERTIES FOLDER "WebCore")
    set_property(
        TARGET ANGLESupport
        APPEND
        PROPERTY INCLUDE_DIRECTORIES
            "${THIRDPARTY_DIR}/ANGLE/include"
    )
    list(APPEND WebCore_LIBRARIES ANGLESupport)
    WEBKIT_SET_EXTRA_COMPILER_FLAGS(ANGLESupport IGNORECXX_WARNINGS)
endif ()

target_link_libraries(WebCore ${WebCore_LIBRARIES})

if (WebCore_OUTPUT_NAME)
    set_target_properties(WebCore PROPERTIES OUTPUT_NAME ${WebCore_OUTPUT_NAME})
endif ()

if (SHARED_CORE)
    set_target_properties(WebCore PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION ${PROJECT_VERSION_MAJOR})
    install(TARGETS WebCore DESTINATION "${LIB_INSTALL_DIR}")
endif ()
